---
title: Charmhub | Deploy Wazuh Server using Charmhub - The Open Operator Collection
description: Deploy the latest version of Wazuh Server as a Kubernetes Operator on
  any cloud.
url: https://charmhub.io/wazuh-server/docs/tutorial-getting-started
---

# Wazuh Server

[Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

* [Canonical IS DevOps](https://charmhub.io/publisher/canonical-is-devops "View all packages from Canonical IS DevOps")

Platform:

4.11/stable 19ff4c9d

```
juju deploy wazuh-server --channel 4.11/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

---

#### Contacts

##### Maintainers

+ [Launchpad Team](https://launchpad.net/~canonical-is-devops)

* [Submit a bug](https://github.com/canonical/wazuh-server-operator/issues)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

# Deploy the Wazuh Server charm for the first time

## [What you’ll do](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-what-youll-do)

* Deploy the Wazuh Server charm.
* Integrate with the Wazuh Indexer charm.
* Integrate with the Wazuh Dashboard charm.
* Integrate with the self Signed X.509 Certificates charm.
* Integrate with the Traefik charm.

## [Requirements](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-requirements)

* A working station, e.g., a laptop, with amd64 architecture.
* Juju 3 installed and bootstrapped to an LXD controller. You can accomplish
  this process by using a [Multipass](https://multipass.run/) VM as outlined in this guide: [How to manage your deployment](https://documentation.ubuntu.com/juju/3.6/howto/manage-your-deployment/).

The [How to manage your deployment](https://documentation.ubuntu.com/juju/3.6/howto/manage-your-deployment/) tutorial provides documentation for both manual and automatic deployment management. You would have to follow the manual steps only to avoid installing MicroK8s in your setup.

* A deployed Wazuh Indexer. For instructions to deploy the Wazuh Indexer, check [its documentation](https://charmhub.io/wazuh-indexer).
* A deployed Wazuh Dashboard. For instructions to deploy the Wazuh Dashboard, check [its documentation](https://charmhub.io/wazuh-dashboard).

When using a Multipass VM, make sure to replace IP addresses with the
VM IP in steps that assume you’re running locally. To get the IP address of the
Multipass instance run `multipass info my-juju-vm`.

## [Set up Canonical Kubernetes](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-set-up-canonical-kubernetes)

Install, bootstrap, and check the status of Canonical Kubernetes:

```
sudo snap install k8s --edge --classic
sudo k8s bootstrap
sudo k8s status --wait-ready
```

Once Canonical Kubernetes is up and running, enable the following core cluster features:

```
sudo k8s enable network dns load-balancer local-storage gateway
sudo k8s status --wait-ready
```

### [Bootstrap a controller](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-bootstrap-a-controller)

Bootstrap the Juju controller:

```
juju add-k8s ck8s --client --context-name="k8s"
juju bootstrap ck8s
```

## [Set up a tutorial model](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-set-up-a-tutorial-model)

To manage resources effectively and to separate this tutorial’s workload from
your usual work, create a new model using the following command.

```
juju add-model wazuh-tutorial
```

## [Deploy the Wazuh Server charm](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-deploy-the-wazuh-server-charm)

Wazuh requires connections to Wazuh indexer, Traefik and a charm implementing the TLS certificates relation.
For this tutorial we will be using Self Signed X.509 Certificates.

### [Deploy and integrate the charms](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-deploy-and-integrate-the-charms)

```
juju deploy wazuh-server
juju deploy self-signed-certificates
juju deploy traefik-k8s --trust
```

Run `juju status` to see the current status of the deployment. Wazuh server unit should be in `waiting status`.

Provide the integrations between the Wazuh Server and the other charms:

```
juju integrate wazuh-server self-signed-certificates
juju integrate wazuh-server traefik-k8s
juju integrate wazuh-server <indexer-offer-url>
juju integrate wazuh-server <dashboard-offer-url>
```

Note that `<indexer-offer-url>` and `<dashboard-offer-url>` are the Juju offers for the Wazuh Indexer and Dashboard, respectively,
which deployed in a machine model in another controller.

Monitor the deployment using `juju status` until the output looks similar to the following one:

```
SAAS             Status  Store                           URL
wazuh-indexer    active  juju-controller-lxd             admin/wazuh.wazuh-indexer
wazuh-dashboard  active  juju-controller-lxd             admin/wazuh.wazuh-dashboard

App           Version  Status  Scale  Charm                     Channel        Rev  Address        Exposed  Message
certificates           active      1  self-signed-certificates  latest/stable  155  10.87.137.125  no
traefik       2.11.0   active      1  traefik-k8s               latest/edge    233  10.87.242.226  no       Serving at 10.142.2.62
wazuh-server           active      1  wazuh-server              latest/edge     39  10.87.248.244  no
```

The deployment is complete when the status is `Active`.

## [Clean up the environment](https://charmhub.io/wazuh-server/docs/tutorial-getting-started#p-38194-clean-up-the-environment)

Well done! You’ve successfully completed the Wazuh Server tutorial. To remove the
model environment you created during this tutorial, use the following command.

```
juju destroy-model wazuh-tutorial
```

---
