# Multi-servers installation

#### Add a worker node

🚨 This section pertains to clustering Blurit On-Premise. If you would like more information about it, please contact our customer services.🚨&#x20;

Before joining the manager machine, you need to open some ports:

* `TCP` port `2377` for cluster management communications
* `TCP` and `UDP` port `7946` for communication among nodes
* `UDP` port `4789` for overlay network traffic

Get Join-token on manager machine:

{% code lineNumbers="true" %}

```bash
docker swarm join-token worker
```

{% endcode %}

Replace `<worker-token>` with the actual token obtained from the previous command, and `<ip-of-manager-machine>` with the IP address or hostname of the manager machine. This command will join the worker machine to the swarm cluster.

Join the swarm cluster on the worker machine (<https://docs.docker.com/engine/reference/commandline/swarm\\_join/>):

{% code lineNumbers="true" %}

```bash
docker swarm join --token <worker-token> <ip-of-manager-machine>:2377
```

{% endcode %}

#### Add label to node

Add a label allow to chose the machine to deploy the workers. For multiple machine installation, it's mandatory for a smooth deployment.

This command display every node present on the swarm cluster:

{% code lineNumbers="true" %}

```bash
docker node ls
```

{% endcode %}

Add a label to a node:

{% code lineNumbers="true" %}

```bash
docker node update --label-add blurit-worker-<number of the machine> <node-name>
```

{% endcode %}

Replace `<machine-number>` with the appropriate number for the machine, and `<node-name>` with the name of the node. This command adds a label to the specified node, which will be used for deployment purposes.
