Wazuh provides an automated way of building DEB packages using docker so there is no need for any other dependency.

To create an Debian package follow these steps:


  • Docker

  • Git

Download our wazuh-packages repository from GitHub and go to the debs directory.

$ git clone && cd wazuh-packages/debs

Execute the script, with the different options you desire. This script will build a Docker image with all the necessary tools to create the DEB and run a container that will build it:

# ./ -h
Usage: ./ [OPTIONS]

    -b, --branch <branch>     [Required] Select Git branch []. By default: master.
    -t, --target <target>     [Required] Target package to build: manager, api or agent.
    -a, --architecture <arch> [Optional] Target architecture of the package [amd64/i386/ppc64le/arm64/armhf].
    -j, --jobs <number>       [Optional] Change number of parallel jobs when compiling the manager or agent. By default: 2.
    -r, --revision <rev>      [Optional] Package revision. By default: 1.
    -s, --store <path>        [Optional] Set the destination path of package. By default, an output folder will be created.
    -p, --path <path>         [Optional] Installation path for the package. By default: /var/ossec.
    -d, --debug               [Optional] Build the binaries with debug symbols. By default: no.
    -c, --checksum <path>     [Optional] Generate checksum on the desired path (by default, if no path is specified it will be generated on the same directory than the package).
    --dont-build-docker   [Optional] Locally built docker image will be used instead of generating a new one.
    --sources <path>          [Optional] Absolute path containing wazuh source code. This option will use local source code instead of downloading it from GitHub.
    --dev                     [Optional] Use the SPECS files stored in the host instead of downloading them from GitHub.
    -h, --help                Show this help.

Below, you will find some examples of how to build a DEB package.

# ./ -b v4.1.1 -s /tmp -t manager -a amd64 -r my_rev.

This will generate a 4.1.1 Wazuh manager package DEB with revision my_rev for amd64 systems.

# ./ -b v4.1.1 -s /tmp -t api -a i386 -r my_rev

This will generate a 4.1.1 Wazuh api package DEB with revision my_rev for i386 systems and store it in /tmp.

# ./ -b v4.1.1 -t agent -a amd64 -p /opt

This will generate a 4.1.1 Wazuh agent DEB package with /opt as installation directory for amd64 systems.