Docker (recommandé)
Introduction
Ce manuel a été vérifié pour la dernière fois sur Alma Linux 8 et 9, en août 2023. Nous recommandons d’utiliser Linux comme système hôte.
Ce guide couvre l’installation et la configuration d’une instance Relution de base fonctionnant dans des conteneurs Docker.
Prérequis
Avant de commencer, assurez-vous que :
- L’ordinateur hôte peut se connecter à Internet.
- Vous êtes un utilisateur
root
ou avez les permissions pour les commandessudo
. - Vous avez un certificat SSL valide pour l’URL.
Les certificats auto-signés ne fonctionnent pas, car les appareils mobiles ne leur font pas confiance. ne leur font pas confiance. Vous pouvez installer votre certificat racine manuellement sur un appareil pour que l’appareil fasse confiance à votre certificat.
Cette approche n’est pas recommandée car elle nécessite beaucoup de travail. Les certificats de [Let’s Encrypt →] (https://letsencrypt.org/) ont été testés et fonctionnent. Notez que les appareils plus anciens peuvent ne pas faire confiance à ces certificats, étant donné qu’ils n’ont été que récemment mis en place en tant qu’autorité de certification (AC).
Préparation
Au cours de cette installation, certains fichiers doivent être édités manuellement. Si vous êtes familier avec vim, définissez-le comme éditeur par défaut à l’aide des commandes. Si vous n’êtes pas familier avec vim, veuillez sauter cette section et continuer à utiliser l’éditeur par défaut.
sudo dnf install -y vim
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100
Vue d’ensemble
Composants :
- installer Docker et Docker Compose
- configurer les conteneurs
- Configurer nginx
Installer 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 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
Après l’installation, assurez-vous de démarrer et d'activer
le service Docker, afin qu’il soit disponible après un redémarrage du système.
systemctl enable docker
systemctl start docker
Configurer le conteneur
Créer un répertoire pour les fichiers de configuration de Relution, par exemple pour `docker compose.
mkdir -p /opt/relution
Charger et éditer les fichiers de configuration
docker-compose.yml
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/docker-compose.yml \N--directory-prefix=/opt/relution
--directory-prefix=/opt/relution
vim /opt/relution/docker-compose.yml
Adaptez le fichier à votre environnement. Toutes les valeurs qui doivent être remplacées
ont des espaces réservés sous la forme de ${Valeur}
, par exemple
${MYSQL_ROOT_PASSWORD}
. Vous devez remplacer les valeurs suivantes :
Placeholder | Description |
---|---|
${MYSQL_ROOT_PASSWORD} | Mot de passe racine de la base de données MariaDB |
${MYSQL_PASSWORD} | Le mot de passe de l’utilisateur de la base de données Relution |
${NOM_DE_L’HÔTE_EXTERNE} | Le nom d’hôte externe sous lequel Relution sera accessible |
application.yml
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/application.yml \N- --directory-prefix=/opt/relution
--directory-prefix=/opt/relution
vim /opt/relution/application.yml
Adaptez le fichier à votre environnement. Toutes les valeurs qui doivent être remplacées
ont des espaces réservés sous la forme de %VALUE%
, par exemple
%EXT_HOSTNAME%
. Les paramètres suivants doivent être adaptés :
Placeholder | Description |
---|---|
%EXT_HOSTNAME_URL% | L’adresse externe du serveur Relution, par exemple https://mdm.example.com |
%MYSQL_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. **Le mot de passe initial de l’administrateur système doit être modifié après la première connexion, puis cette ligne doit être supprimée. |
%SYSTEM_ADMIN_EMAIL% | L’adresse e-mail de l’administrateur système. |
Le fichier Docker Compose définit trois services : mariadb
, relution
et nginx
.
Assurez-vous de remplacer les mots de passe définis dans ce fichier par des mots de passe plus sûrs.
par des mots de passe plus sûrs. Par exemple, vous pouvez utiliser pwgen -snc 48 1
pour générer
pour créer des mots de passe aléatoires et sûrs.
À l’exception du mot de passe de l’administrateur de l’organisation, ces mots de passe ne doivent pas être saisis par un humain. Il n’y a donc aucune raison d’utiliser des mots de passe faibles.
Si vous remplacez le mot de passe sur un conteneur de base de données, par exemple %MYSQL_PASSWORD%
, assurez-vous d’utiliser le même mot de passe dans application.yml.
Si vous arrêtez un conteneur Docker, les données à l’intérieur du conteneur sont potentiellement perdues. Cela signifie que les données persistantes doivent être stockées en dehors du conteneur (par exemple, sur un volume monté).
La configuration par défaut fait correspondre les répertoires de données de MariaDB au système hôte. Relution stocke toutes ses données dans la base de données, aucune configuration supplémentaire n’est donc nécessaire.
Assurez-vous d’inclure MariaDB dans votre stratégie de sauvegarde.
Configuration de nginx
Nginx (“engine x”) est utilisé comme proxy inverse pour permettre l’accès à Relution et fournir simultanément un cryptage 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. Modifiez-le et adaptez-le à votre environnement si nécessaire.
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/relution-nginx.conf \N- --directory-prefix=/opt/relution
--directory-prefix=/opt/relution
Pour une sécurité accrue, vous devriez activer l’empilement SSL et utiliser un meilleur paramètre DH.
DH. Fournissez les fichiers nécessaires et
puis activez les options ssl_dhparam
et ssl_stapling
dans relution-nginx.conf.
Générer une clé
openssl dhparam -out /opt/relution/dhparams.pem 4096
relution-nginx.conf
ssl_dhparam /etc/nginx/dhparams.pem ;
Le fichier relution-nginx.conf
est inclus dans le conteneur Docker en tant que volumevia le fichier
docker-compose.yml comme suit volume
via le fichierdocker-compose.yml
comme suit :
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"
La configuration s’attend à ce que votre certificat SSL et votre clé
dans /opt/relution/server.pem
et /opt/relution/server.key
.
respectivement. Si ces fichiers se trouvent à un autre endroit ou ont un nom différent, ajustez les volumes
du conteneur nginx en conséquence.
Configuration de MariaDB
Téléchargez le fichier de configuration de MariaDB.
wget https://raw.githubusercontent.com/relution-io/relution-setup/master/docker/Linux/opt/relution/relution.cnf \N- --directory-prefix=/opt/relution
--directory-prefix=/opt/relution
Ce fichier configure MariaDB pour qu’il utilise utf8mb4, ce qui est nécessaire pour le support des emojis et autres caractères Unicode. caractères Unicode. Sans cette configuration, l’importation des applications qui utilisent ces caractères dans leur nom ou leur description échouera.
NOTE : Le fichier relution.cnf
est placé dans le conteneur Docker en tant que volume
dans le répertoire relution.cnf
.
volume
dans le fichier docker-compose.yml
comme suit :
volumes :
- "mariadb:/var/lib/mysql"
- "/opt/relution/relution.cnf:/etc/mysql/conf.d/relution.cnf"
Si vous souhaitez déplacer ce fichier vers un autre emplacement, vous devez
mettre à jour les volumes
du conteneur mariadb en conséquence.
Démarrer la Relution
Pour démarrer les conteneurs Docker définis dans le fichier yaml, utilisez les commandes suivantes
cd /opt/relution/
docker compose up -d
Ceci téléchargera l’image Docker de chaque service défini dans le fichier docker-compose.yml
.
Les images sont mises en cache sur la machine locale afin que les lancements futurs soient plus rapides.
Il faut un certain temps pour que les services soient démarrés une fois que les téléchargements sont terminés. Pour voir le journal de sortie d’un conteneur particulier, utilisez la commande suivante :
docker logs -f <nom_du_conteneur>
Par exemple, utilisez docker logs -f docker_relution
pour voir la sortie des logs de Relution.
Pour arrêter et supprimer les conteneurs, utilisez la commande suivante :
cd /opt/relution/
docker compose down
Cela ne supprimera pas les images téléchargées.
Mise à jour Relution
cd /opt/relution/
docker compose pull
docker compose up -d
Ceci téléchargera la dernière image Docker pour chaque conteneur avant que les conteneurs ne soient redémarrés. Le service Relution ne sera pas disponible tant que le redémarrage des conteneurs ne sera pas terminé.
Liste de contrôle pour l’installation sur site
Cette liste de contrôle est utilisée pour enregistrer l’état actuel de l’installation en cas de problèmes et pour permettre une assistance plus précise.
1. installation de base Hôte | Terminé |
---|---|
1.1 Distribution Linux installée (Alma / Rocky) | Oui / Non |
1.2 Internet disponible sur l’hôte (ping) Oui / Non | |
1.3 Root / Sudo disponible sur l’hôte | Oui / Non |
1.4 Certificat SSL valide disponible pour l’URL Oui / Non | |
1.5 Connexion SSH ou Teamviewer | Oui / Non |
2. logiciel nécessaire | Terminé |
---|---|
2.1 Editeur de texte installé (Vim / Nano) | Oui / Non |
2.2 Docker installé | Oui / Non |
2.3 docker compose installé | Oui / Non |
2.4 Service Docker activé et démarré | Oui / Non |
Préparation des fichiers de configuration - Terminé | |
---|---|
3.1 Répertoire Relution créé | Oui / Non |
3.2 docker-compose.yml chargé | Oui / Non |
3.3 Placeholder in the docker-compose.yml edited | Yes / No |
3.4 Proxy inverse nécessaire ? | Oui / Non |
3.5 application.yml chargé | Yes / No |
3.6 Placeholder in application.yml édité | Yes / No |
4. configuration de nginx | Terminé |
---|---|
4.1 Fichier de configuration chargé | Oui / Non |
4.2 Paramètres DH créés | Oui / Non |
4.3 Paramètres DH spécifiés | Oui / Non |
4.4 Certificat SSL divisé en pem et clé | Oui / Non |
4.5 pem et clé spécifiés en tant que volume Oui / Non |
Configuration de MariaDB - Terminé | |
---|---|
5.1 Fichier de configuration chargé | Oui / Non |
6. Relution | Terminé |
---|---|
6.1 Relution démarre | Oui / Non |
En cas de problèmes de démarrage avec Relution, veuillez envoyer le journal complet sous forme de fichier zip à l’assistance.
L’assistance est payante !