Introduction
This quickstart guide will help you set up a development environment for Wazuh Dashboard Plugins using Docker. You’ll have a fully functional Wazuh dashboard running in under 15 minutes.This guide assumes you have basic familiarity with Docker and command-line interfaces.
Quick Setup with Docker
Step 1: Install Prerequisites
1
Install Docker Desktop
2
Install Node.js
Install Node.js version 22.22.0 using nvm:
3
Install Yarn
Step 2: Clone the Repository
Step 3: Set Up Docker Environment
1
Create Docker Networks
2
Install Loki Logging Driver
3
Configure Docker Resources
Open Docker Desktop and allocate:
- Memory: 8 GB minimum
- CPUs: 4 cores minimum
Step 4: Linux-Specific Setup
Linux Users: Set Permissions
Linux Users: Set Permissions
If you’re on Linux, configure user permissions to avoid permission issues:
Step 5: Start the Development Environment
Step 6: Install Plugin Dependencies
1
Access the Container
Open a new terminal and attach to the running container:
2
Install Dependencies
Inside the container:
3
Start OpenSearch Dashboards
The first start may take 5-10 minutes as it optimizes bundles.
Step 7: Access the Dashboard
Once the server starts successfully:- Open your browser
- Navigate to
http://localhost:5601 - You should see the OpenSearch Dashboards login screen
- Look for the Wazuh plugin in the main menu
Alternative: Development Without Docker
For a native development setup without Docker:1
Install OpenSearch Dashboards
Download and install OpenSearch Dashboards 3.5.0 from the official website.
2
Clone and Build Plugins
3
Install Plugins
4
Start OpenSearch Dashboards
Exploring the Dashboard
First-Time Setup
When you first access the Wazuh dashboard:1
Configure API Connection
The Wazuh dashboard needs to connect to a Wazuh manager API. Configure your API host:
- Host: Your Wazuh manager IP or hostname
- Port: Usually 55000
- Username: API username
- Password: API password
2
Health Check
The plugin automatically runs health checks:
- API connectivity validation
- Index pattern creation
- Default configuration setup
3
Explore Modules
Navigate through different security modules:
- Security Events
- Integrity Monitoring
- Vulnerability Detection
- Compliance (PCI DSS, GDPR, HIPAA, etc.)
Key Features to Try
Security Events
View real-time security alerts and events from your infrastructure
Agent Management
Monitor and manage Wazuh agents deployed across your systems
Compliance Dashboard
Check compliance status against PCI DSS, GDPR, and other standards
Dev Tools
Interact with the Wazuh API directly through the built-in console
Development Workflow
Making Changes
1
Edit Source Code
The plugin source is mounted into the container, so you can edit files on your host:
2
Rebuild (if needed)
For TypeScript changes, you may need to rebuild:
3
Restart Server
Restart OpenSearch Dashboards to see your changes:
Running Tests
Common Tasks
Updating API Information
When the Wazuh server API changes:Adding External Plugins
To develop with external plugins like reporting:Cleaning Up
Troubleshooting
Container Won't Start
Container Won't Start
Check Docker logs:Ensure you have enough resources allocated in Docker Desktop.
Permission Denied Errors
Permission Denied Errors
On Linux, verify group permissions:
Plugin Not Appearing
Plugin Not Appearing
- Verify plugin is installed:
bin/opensearch-dashboards-plugin list - Check OpenSearch Dashboards logs for errors
- Ensure all dependencies are installed correctly
Slow Build Times
Slow Build Times
Use the NPM cache server:
Next Steps
Architecture
Learn about the plugin architecture
Contributing
Contribute to the project
Style Guide
Follow coding standards
Join Slack
Get help from the community