Skip to main content

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

Download and install Docker Desktop for your operating system.Verify installation:
Ensure Docker Compose version is 2.20.2 or higher
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
Navigate to: Settings → Resources → Advanced

Step 4: Linux-Specific Setup

If you’re on Linux, configure user permissions to avoid permission issues:

Step 5: Start the Development Environment

The first startup will take several minutes as Docker downloads the required images.

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:
  1. Open your browser
  2. Navigate to http://localhost:5601
  3. You should see the OpenSearch Dashboards login screen
  4. 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

Check Docker logs:
Ensure you have enough resources allocated in Docker Desktop.
On Linux, verify group permissions:
  1. Verify plugin is installed: bin/opensearch-dashboards-plugin list
  2. Check OpenSearch Dashboards logs for errors
  3. Ensure all dependencies are installed correctly
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

Resources