Docker (Recommandé)
Installation de Relution avec Docker sur Hôte Linux
Introduction
Ce guide a été vérifié pour la dernière fois sur Rocky / Alma Linux 8, 9 et 10
(État Déc. 2025).
Nous recommandons l’utilisation de Linux pour le système hôte.
Ce guide couvre l’installation et la configuration d’une instance Relution de base, qui s’exécute dans des conteneurs Docker.
Prérequis
Avant de commencer, assurez-vous que les exigences suivantes sont remplies :
- La machine hôte peut se connecter à Internet.
- Vous disposez des droits
rootousudo. - Optionnel : Un certificat SSL valide pour l’URL.
Important : Les certificats auto-signés ne fonctionnent pas, car les appareils mobiles ne leur font pas confiance. Vous pouvez installer manuellement votre certificat racine sur un appareil, mais cette procédure n’est pas recommandée en raison de l’effort considérable. Les certificats de Let’s Encrypt → ont été testés et fonctionnent.
Préparation
Si vous êtes familier avec vim, vous pouvez le définir comme éditeur par défaut. Veuillez ignorer cette section si vous souhaitez continuer à utiliser l’éditeur standard.
sudo dnf install -y vim
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100
Aperçu
L’installation est divisée en étapes principales suivantes :
- Installer Docker et Docker Compose.
- Configurer les Conteneurs.
- Configurer Traefik ou nginx.
Installation de Docker et Docker Compose
Pour exécuter Relution dans un conteneur Docker, vous devez d’abord installer Docker et docker compose.
Installer Docker
Veuillez suivre ces commandes pour Alma / Rocky Linux :
dnf install -y dnf-utils wget
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Assurez-vous de démarrer et d’activer le service Docker après l’installation afin qu’il soit disponible après un redémarrage du système.
systemctl enable docker
systemctl start docker
Configuration des Conteneurs
Créez un répertoire pour les fichiers de configuration Relution, par exemple pour docker compose.
mkdir -p /opt/relution
Téléchargement et Modification des Fichiers de Configuration
compose.yaml
Téléchargez le fichier :
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/compose.yaml \
--directory-prefix=/opt/relution
Modifiez le fichier :
vim /opt/relution/compose.yaml
Adaptez le fichier à votre environnement. Vous devez remplacer au moins l’espace réservé suivant :
| Espace Réservé | Description |
|---|---|
%POSTGRES_PASSWORD% | Le mot de passe de l’utilisateur de la base de données Relution |
application.yml
Téléchargez le fichier :
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/application.yml \
--directory-prefix=/opt/relution
Modifiez le fichier :
vim /opt/relution/application.yml
Adaptez le fichier à votre environnement. Vous devez remplacer les espaces réservés suivants :
| Espace Réservé | Description |
|---|---|
%EXT_HOSTNAME_URL% | L’adresse externe du serveur Relution, par exemple https://mdm.example.com |
%POSTGRES_PASSWORD% | Le mot de passe de l’utilisateur de la base de données Relution |
%SYSTEM_ADMIN_PASSWORD% | Le mot de passe initial de l’administrateur système. Changez-le après la première connexion et supprimez ensuite cette ligne. |
%SYSTEM_ADMIN_EMAIL% | L’adresse e-mail de l’administrateur système |
Remarque sur les Mots de Passe : Le fichier Compose définit trois services :
database,relutionettraefik. Utilisez des mots de passe aléatoires sécurisés pour les mots de passe (par exemple, avecpwgen -snc 48 1). Si vous remplacez l’espace réservé du mot de passe dans un conteneur (par exemple,%POSTGRES_PASSWORD%), assurez-vous d’utiliser le même mot de passe dans l’application.yml.
Persistance des Données : La configuration standard mappe les répertoires de données PostgreSQL au système hôte. Relution stocke toutes ses données dans la base de données, aucune configuration supplémentaire n’est donc requise. Assurez-vous d’inclure PostgreSQL dans votre stratégie de sauvegarde.
Configuration de Traefik (Proxy Inverse)
Traefik est utilisé comme proxy inverse pour permettre l’accès à Relution tout en fournissant le chiffrement SSL/TLS. Sans Traefik ou un proxy similaire, l’accès à Relution n’est possible que localement via localhost.
Création Automatique de Certificats (Let’s Encrypt)
Téléchargez le fichier de configuration Traefik et adaptez-le à votre environnement :
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/relution.yaml \
--directory-prefix=/opt/relution/configs/traefik
Dans le fichier /opt/relution/configs/traefik/relution.yaml, l’espace réservé external.url doit être remplacé par l’URL externe réelle sous laquelle Relution doit être accessible :
vim /opt/relution/configs/traefik/relution.yaml
http:
routers:
relution:
rule: Host(`external.url`) # Remplacer l'espace réservé
Remarque : L’URL externe ici est spécifiée sans le préfixe
https://, contrairement à l’application.yml.
Certificats Obtenus par d’Autres Moyens (Statiques)
Téléchargez le fichier de configuration pour les certificats statiques :
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/relution.static_cert.yaml \
--directory-prefix=/opt/relution/configs/traefik
Dans le fichier /opt/relution/configs/traefik/relution.yaml, l’espace réservé external.url doit être remplacé par l’URL externe réelle sous laquelle Relution doit être accessible :
vim /opt/relution/configs/traefik/relution.yaml
http:
routers:
relution:
rule: Host(`external.url`) # Remplacer l'espace réservé
La chaîne de certificats et la clé privée correspondante doivent être placées sous server.pem et server.key dans le répertoire /opt/relution/certs/static.
De plus, le bloc traefik: dans le compose.yml doit être ajusté :
...
traefik:
...
command:
- --providers.file.directory=/opt/traefik/
- --entryPoints.web.address=:80
- --entryPoints.web.http.redirections.entryPoint.to=websecure
- --entryPoints.web.http.redirections.entryPoint.scheme=https
- --entryPoints.websecure.address=:443
...
volumes:
- ./configs/traefik:/opt/traefik
- ./certs/static:/opt/certs
...
Configuration de nginx comme Alternative à Traefik (Proxy Inverse)
Nginx est utilisé comme proxy inverse pour permettre l’accès à Relution tout en fournissant le chiffrement SSL/TLS. Sans Nginx ou un proxy similaire, l’accès à Relution n’est possible que localement via localhost.
Téléchargez le fichier de configuration nginx :
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/relution-nginx.conf \
--directory-prefix=/opt/relution
Remplacez le bloc traefik: dans le compose.yaml par ce bloc nginx: :
nginx:
image: nginx:stable
restart: unless-stopped
container_name: nginx
depends_on:
- relution
environment:
- TZ=Europe/Berlin
- NGINX_HOST=%EXT_HOSTNAME%
ports:
- "80:80"
- "443:443"
volumes:
- "/opt/relution/relution-nginx.conf:/etc/nginx/conf.d/relution-nginx.conf"
- "/opt/relution/server.pem:/etc/nginx/server.pem"
- "/opt/relution/server.key:/etc/nginx/server.key"
Pour une sécurité accrue, l’utilisation de meilleurs paramètres DH est recommandée.
Générer la clé :
openssl dhparam -out /opt/relution/dhparams.pem 4096Ajuster
relution-nginx.conf: Ajoutez la ligne (et activezssl_staplingsi nécessaire) :ssl_dhparam /etc/nginx/dhparams.pem;Étendre les Volumes
compose.yaml: Ajustez lesVolumesdu conteneur nginx pour inclure les paramètres DH :volumes: - "/opt/relution/relution-nginx.conf:/etc/nginx/conf.d/relution-nginx.conf" - "/opt/relution/server.pem:/etc/nginx/server.pem" - "/opt/relution/server.key:/etc/nginx/server.key" - "/opt/relution/dhparams.pem:/etc/nginx/dhparams.pem" # Ajouté
La configuration s’attend à ce que votre certificat SSL et votre clé se trouvent dans /opt/relution/server.pem et /opt/relution/server.key. Sinon, ajustez les Volumes du conteneur nginx en conséquence.
Conversion du Certificat SSL →
Démarrage de Relution
Accédez au répertoire Relution et démarrez les conteneurs Docker :
cd /opt/relution/
docker compose up -d
Ceci téléchargera les images et démarrera les services. Il faudra peut-être un certain temps avant que les services ne soient disponibles.
Pour afficher la sortie du journal d’un conteneur spécifique (par exemple, Relution) :
docker logs -f <container_name> # Exemple : docker logs -f relution
Arrêt
Pour arrêter et supprimer les conteneurs (les images sont conservées) :
cd /opt/relution/
docker compose down
Mise à Jour de Relution
Pour mettre à jour les services, utilisez les commandes suivantes :
cd /opt/relution/
docker compose pull # Télécharge la dernière image
docker compose up -d # Arrête et redémarre les conteneurs
Le service Relution ne sera pas disponible tant que le redémarrage du conteneur ne sera pas terminé.
En cas de problèmes de démarrage avec Relution, veuillez envoyer le journal complet sous forme de fichier Zip au support. Le support est payant.