This article describes installation using Docker Swarm with internet access. To learn about installing BRIX AI offline, see Offline installation.
This deployment option is suitable for production environments because it allows you to scale microservices as load increases.
Before you begin, make sure that:
- The target server is initialized as a Docker Swarm manager node. To do this, run the command docker swarm init when creating the cluster.
- You have downloaded the installation files and configured environment variables.
Please note:
- MongoDB replication requires an internal authentication key for database nodes. It is created automatically during installation.
- If you use self-signed certificates, export the root certificate after installation to add it to your list of trusted certificates.
Install BRIX AI
To install BRIX AI using Docker Swarm:
- Run the installation script:
chmod +x install.sh
./install.sh
If you use multiple instances of BRIX AI and need to specify a project name, use the following parameter:
./install.sh --project-name my-cortex
- After running the install.sh script, some services may take a few minutes to start up completely. To check if the services are ready, run the following command:
docker service logs -f elma-cortex_gamma-apps
- Wait until the message “Application startup complete” appears in the logs.
Create a key for MongoDB
During the installation of BRIX AI, the install.sh script automatically generates an authentication key file used for MongoDB replication, along with the required access permissions. It is passed to Docker Swarm via the mongodb-keyfile secret.
If you need to generate a new key manually, run the following commands:
openssl rand -base64 756 > mongo.keyfile
sudo chmod 400 mongo.keyfile
docker secret create mongo_keyfile mongo.keyfile
Export the Caddy root certificate
If you selected Internal as the TLS certificate management mode, export the Caddy root certificate to add it to your trusted certificates:
docker exec $(docker ps -q -f name=elma-cortex_caddy) cat /data/caddy/pki/authorities/local/root.crt > caddy_root.crt
If the command fails, try an alternative method:
docker ps -f name=elma-cortex_caddy # returns <CONTAINER_ID>
docker cp <CONTAINER_ID>:/data/caddy/pki/authorities/local/root.crt ./caddy_root.crt
Update BRIX AI
When a new version of BRIX AI is released, save your current configuration and perform the update. To learn more, see Update BRIX AI using Docker Swarm.
Uninstall BRIX AI
Installing BRIX AI in Docker Swarm creates a stack representing your installation instance. You can remove the stack along with all associated data.
Uninstall the stack while preserving data
To remove all BRIX AI services from the Docker Swarm cluster without clearing data, use one of two methods:
- Run the uninstallation script:
chmod +x uninstall.sh
./uninstall.sh
If you use multiple instances of BRIX AI and specify a project name in scripts, use the following parameter:
./uninstall.sh --project-name my-cortex
- Remove the stack from Docker Swarm manually:
docker stack rm elma-cortex
Uninstall the stack and delete data
To permanently remove BRIX AI and all associated data:
- Remove the stack using the following command:
./uninstall.sh
If you use multiple instances of BRIX AI and specify a project name in scripts, use the following parameter:
./uninstall.sh --project-name my-cortex
- Wait until all services stop.
- Delete data volumes:
docker volume rm $(docker volume ls -q -f name=elma-cortex)
This operation also deletes data from Caddy's internal certificate authority. If you use Internal as the TLS certificate management mode, you must export the Caddy root certificate again after reinstallation and add it to your trusted certificates.