Skip to content

Missing Documentation for Installing Wazuh Dashboard from Source #7315

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
clr34m3r opened this issue Feb 20, 2025 · 1 comment
Open

Missing Documentation for Installing Wazuh Dashboard from Source #7315

clr34m3r opened this issue Feb 20, 2025 · 1 comment
Assignees
Labels
reporter/community Issue reported by the community

Comments

@clr34m3r
Copy link

Description:
I noticed that the official documentation provides instructions for installing Wazuh Manager and Wazuh Agent from source. However, I could not find any official guidance on installing Wazuh Dashboard from source.

For organizations or individuals looking to customize the Wazuh Dashboard or contribute to its development, having clear documentation on the installation process from source would be highly beneficial.

Expected Behavior:
A dedicated section in the official Wazuh documentation explaining how to install Wazuh Dashboard from source, similar to the existing instructions for Wazuh Manager and Wazuh Agent.
Steps covering prerequisites, dependencies, compilation, and configuration.

Actual Behavior:
No official documentation is available for installing Wazuh Dashboard from source.
Users who want to build Wazuh Dashboard from source must figure out the process independently.

Steps to Reproduce:
Visit the Wazuh Documentation.
Search for "install from source" in the documentation.
Find installation guides for Wazuh Manager and Wazuh Agent but no instructions for Wazuh Dashboard.

Questions:
Is there an official or recommended way to install Wazuh Dashboard from source?
If not documented yet, are there any existing community guidelines or internal steps that can be shared?

Additional Context:
I am currently working on a project that requires modifying Wazuh Dashboard, and being able to build it from source would be crucial.
Any guidance or official documentation on this would be greatly appreciated.

@Desvelao
Copy link
Member

Desvelao commented May 16, 2025

Hi, I guess your request is related to provide documentation to install the Wazuh dashboard from sources such as the documentation for Wazuh server (https://documentation.wazuh.com/4.12/deployment-options/wazuh-from-sources/wazuh-server/index.html) or Wazuh agent (https://documentation.wazuh.com/current/deployment-options/wazuh-from-sources/wazuh-agent/index.html).

As you said, there is no an official guide to install the Wazuh dashboard from sources. There is documentation to build a Wazuh dashboard package from sources (https://documentation.wazuh.com/4.12/development/packaging/generate-dashboard-package.html#build-manually) based on official repositories (composition of Wazuh dashboard core, and some repositories that have the plugins) and others that are installed from OpenSearch Dashboards plugins, but you could adapt to your requirements, modifying the source code of one or some components before building the expected artifact that will be used to compose the final package .rmp or .deb of Wazuh dashboard.

Based on the guide https://documentation.wazuh.com/4.12/development/packaging/generate-dashboard-package.html#build-manually, you need to build the following components to generate the final Wazuh dashboard app:

  • Wazuh dashboard core ( wazuh-dashboard repository): some plugins are not included
  • Wazuh dashboard plugins ( wazuh-dashboard-plugins repository): provide some plugins that are related to the Wazuh ecosystem
  • Wazuh security plugin ( wazuh-security-dashboard-plugin repository): custom plugin based on OpenSearch Dashboards security plugin.
  • Others plugins: in the building process, some OpenSearch Dashboards are installed.

For each repository related to Wazuh, the guide indicates how to download the source code and generate an artifact that will be used in the last steps to build the final Wazuh dashboard app. Before the generation of the artifact, you can apply some customization, take into account the depending on the change you could need/want to see the effects of the change, so you could need to run a development environment that depends on the component to customize.

Requirements if you pretend to see the changes in a development environment:

Component Case Requirements in the dev environment
Wazuh dashboard Change in Wazuh dashboard core, no interaction with the rest of plugins Wazuh dashboard core
Wazuh dashboard Change in Wazuh dashboard core that affects/interacts with "external" plugin Wazuh dashboard core + external plugin/s
Wazuh plugin ( wazuh-dashboard-plugins, wazuh-security-dashboard-plugin) Change in "external" plugin Wazuh dashboard core + Wazuh plugin

For example, if you want to do some change in the Wazuh dashboard core, you can modify the code before the build of the artifact done by the following instructions (current guide for 4.12.x):

Customize Wazuh dashboard core:

git clone -b <BRANCH_OR_TAG> https://github.com/wazuh/wazuh-dashboard.git
cd wazuh-dashboard/
nvm install $(cat .nvmrc)
nvm use $(cat .nvmrc)
yarn osd bootstrap

### If you want to customize, apply the changes before continue the process ###

yarn build-platform <--linux | --linux-arm> --skip-os-packages --release

Customize Wazuh security dashboard plugin (wazuh-sercurity-dashboards-plugin repository)

cd plugins/
git clone -b <BRANCH_OR_TAG> https://github.com/wazuh/wazuh-security-dashboards-plugin.git
cd wazuh-security-dashboards-plugin/
yarn

### If you want to customize, apply the changes before continue the process ###

yarn build

Customize Wazuh security dashboard plugin (wazuh-security-dashboards-plugin repository):

cd ../
git clone -b <BRANCH_OR_TAG> https://github.com/wazuh/wazuh-dashboard-plugins.git
cd wazuh-dashboard-plugins/
nvm install $(cat .nvmrc)
nvm use $(cat .nvmrc)
cp -r plugins/* ../
cd ../main
yarn

### If you want to customize the `wazuh`, apply the changes before continue the process ###

yarn build
cd ../wazuh-core/
yarn

### If you want to customize the `wazuhCore`, apply the changes before continue the process ###

yarn build
cd ../wazuh-check-updates/
yarn

### If you want to customize the `wazuhCheckUpdates`, apply the changes before continue the process ###


yarn build

Reference: https://documentation.wazuh.com/4.12/development/packaging/generate-dashboard-package.html#build-manually

The OpenSearch Dashboards plugins IDs that are added to the final Wazuh dashboard, are listed here (for 4.12.0):
https://github.com/wazuh/wazuh-dashboard/blob/v4.12.0/dev-tools/build-packages/base/plugins. You can add or remove before building the composed artifact https://documentation.wazuh.com/4.12/development/packaging/generate-dashboard-package.html#using-the-script ( apply the changes in the wazuh-dashboard/dev-tools/build-packages/base/plugins file before running the process of the link).

Take into account the process or requirements could vary depending on the version.

@Desvelao Desvelao self-assigned this May 16, 2025
@Desvelao Desvelao added the reporter/community Issue reported by the community label May 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
reporter/community Issue reported by the community
Projects
None yet
Development

No branches or pull requests

2 participants