Docker (Recommandé)

Ce guide a été vérifié pour la dernière fois sur Rocky / Alma Linux 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, s’assurer que les exigences suivantes sont remplies :

  • La machine hôte peut se connecter à Internet.
  • Disposer des droits root ou sudo.
  • Optionnel : Un certificat SSL valide pour l’URL.

Préparation

En cas de familiarité avec vim, il peut être défini comme éditeur par défaut. Ignorer cette section pour 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 :

  1. Installer Docker et Docker Compose.
  2. Configurer les Conteneurs.
  3. Configurer Traefik ou nginx.

Installation de Docker et Docker Compose

Pour exécuter Relution dans un conteneur Docker, Docker et docker compose doivent d’abord être installés.

Installer Docker

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

S’assurer 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éer un répertoire pour les fichiers de configuration Relution, par exemple pour docker compose.

mkdir -p /opt/relution

compose.yaml

Télécharger le fichier :

wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/compose.yaml \
    --directory-prefix=/opt/relution

Modifier le fichier :

vim /opt/relution/compose.yaml

Adapter le fichier à l’environnement. Au moins l’espace réservé suivant doit être remplacé :

Espace RéservéDescription
%POSTGRES_PASSWORD%Le mot de passe de l’utilisateur de la base de données Relution

application.yml

Télécharger le fichier :

wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/application.yml \
    --directory-prefix=/opt/relution

Modifier le fichier :

vim /opt/relution/application.yml

Adapter le fichier à l’environnement. Les espaces réservés suivants doivent être remplacés :

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. À changer après la première connexion, puis à supprimer de 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, relution et traefik. Utiliser des mots de passe aléatoires sécurisés pour les mots de passe (par exemple, avec pwgen -snc 48 1). En cas de remplacement de l’espace réservé du mot de passe dans un conteneur (par exemple, %POSTGRES_PASSWORD%), s’assurer d’utiliser le même mot de passe dans l’application.yml.


Configuration de Traefik (Proxy Inverse)

Création Automatique de Certificats (Let’s Encrypt)

Télécharger le fichier de configuration Traefik et l’adapter à l’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é

Démarrage de Relution

Accéder au répertoire Relution et démarrer 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

Facultatif

Statiques traefik Certificats

Télécharger 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.static_cert.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.static_cert.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
...

Nginx comme Alternative à Traefik (Proxy Inverse)

Télécharger 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

Remplacer 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.

  1. Générer la clé :

    openssl dhparam -out /opt/relution/dhparams.pem 4096
    
  2. Ajuster relution-nginx.conf : Ajouter la ligne (et activer ssl_stapling si nécessaire) :

    ssl_dhparam /etc/nginx/dhparams.pem;
    
  3. Étendre les Volumes compose.yaml : Ajuster les Volumes du 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 le certificat SSL et la clé se trouvent dans /opt/relution/server.pem et /opt/relution/server.key. Sinon, ajuster les Volumes du conteneur nginx en conséquence.

Conversion du Certificat SSL →


Mise à Jour de Relution

Pour mettre à jour les services, utiliser 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, envoyer le journal complet sous forme de fichier Zip au support. Le support est payant.

Top