Introduction
Arcane est une interface web moderne pour gérer facilement vos images réseaux et containers Docker. Ils est multi hôte, grace à un systeme d’agent ou via la création d’uncluster Swarn.
Pour cette installation j’utilise l’image officielle qui est présente ici : Arcane
Le fichier compose.yaml
Voici le fichier compose.yaml à deposer dans le répertoire contenant vos piles (par exemple /opt/docker/projects/) ou à coller dans votre interface de gestion (autre que Arcane).
services:
arcane:
image: ghcr.io/getarcaneapp/arcane:latest
container_name: arcane
ports:
- 3552:3552
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/docker/data/arcane:/app/data
- /opt/docker/projects:/opt/docker/projects # doit être identique à gauche et à droite
environment:
- APP_URL=http://localhost:3552
- PROJECTS_DIRECTORY=/opt/docker/projects # doit être identique au volume monté
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- ENCRYPTION_KEY=secret_key
- JWT_SECRET=secret_jwt
restart: unless-stopped
Vous devrez adapter ce fichier à votre environnement de travail Docker. J’utilise le chemin /opt/docker/data/mon_container pour tous mes containers docker.
- PROJECTS_DIRECTORY : Contient le chemin de vos piles dockers (doit être identique au volume monté si vous souhaiter déposer vos piles à la main dans le repertoire projet).
- ENCRYPTION_KEY : Votre clé secrête (voir plus bas).
- JWT_SECRET : Votre jeton secret (voir plus bas).
- PUID/GUID : L’utilisateur utilisé pour lancer le container.
Pour créer la clé secrête et le jeton, ouvrez une ligne de commande et taper la commande openssl rand -base64 32 deux fois et recopier les valeurs obtenues.
Une fois le fichier créer ; déployer l’image soit en ligne de commande : sudo docker compose up -d ; soit via votre interface de gestion.
Vous pouvez maintenant accèder à l’interface de NPM : http://votreip:3552
Configuration
1er Lancement
Il faut dans un premier temps créer un compte Administrateur :
Une fois le compte créé, vous arrivez au niveau du tableau de Bord :
L’onglet environnement contient les différents hôte géré par Arcane :

Ajour d’un hôte distant
Arcane permet de gérer sur une même interface des hôtes locaux et distants.
Nous allons ajouter un hôte distant ; pour cela un click sur “Ajouter Environnement” :

Il faut renseigner l’adresse IP de votre hôte distant. Une fois le formulaire rempli, cliquez sur “Générer la configuration de l’agent”

Il vous proposera le fichier compose.yaml à déployer sur votre serveur distant. Je n’utilise pas celui proposé, mais noté bien par contre la clé API généré par Aracne.
Le fichier compose de l’hôte distant
J’ai constaté un problème de communication entre Arcane et son agent en utilisant l’image Docker proposé dans le fichier compose.yaml généré par l’interface Arcane. J’utilise un fichier compose légèrement différent, en selectionnant une image différente que celle proposée à l’étape précèdante.
services:
arcane-agent:
image: ghcr.io/getarcaneapp/arcane-headless:latest
container_name: arcane-agent
restart: unless-stopped
environment:
- AGENT_MODE=true
- EDGE_TRANSPORT=poll
- AGENT_TOKEN=votre-token-generer-precedamment
- MANAGER_API_URL=http://IP_ARCANE:3552
- PROJECTS_DIRECTORY=/opt/docker/projects
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
ports:
- 3553:3553
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/docker/data/arcane:/app/data
- /opt/docker/projects:/opt/docker/projects
Une fois le fichier créer ; déployer l’image soit en ligne de commande : sudo docker compose up -d ; soit via votre interface de gestion.
Retourner sur l’interface d’Arcane et vous devriez voir votre hote passé de l’état “Pending” à “Online”
Pour des besoins d’illustrations ; sur mon interface, cet hôte se prénomme “Test Docker” :

Recommencer la procédure autant de fois que vous avez d’hôtes distants.