Installer Arcane avec Docker
Arcane

Installer Arcane avec Docker

Table des matières

GitHub - ofkm/arcane: Simple and Elegant Docker Management UI written in Typescript and SvelteKit
Simple and Elegant Docker Management UI written in Typescript and SvelteKit - GitHub - ofkm/arcane: Simple and Elegant Docker Management UI written in Typescript and SvelteKit
ℹ️
Tutoriel mis à jour le 31 décembre 2025.

Portainer, Yacht, Komodo, ce n'est pas les solutions qui manquent pour vous gérer vos containers préférés. Voici une petite nouvelle qui n'est pas dégueulasse du tout ! Depuis, Yacht est passé à la trappe et franchement, j'aime beaucoup de projet.

Aujourd'hui nous allons parler d'Arcane ! Une application vous permettant de gérer vos containers et vos stacks avec facilité, de mettra à jour automatiquement ou non, le tout, propulsé par une interface soignée.

Vous pouvez également centraliser vos serveurs avec un agent :

Arcane

Je vous propose la version avec et sans socket proxy pour éviter que le conteneur ait un accès root à l’hôte docker. C'est la version idéale à choisir pour renforcer la sécurité.

Mais comme vous faites ce que vous voulez, je vous propose également la version classique.


⚡ Caractéristiques

  • Interface moderne : Un design épuré et intuitif qui rend la gestion de Docker simple et agréable.
  • Surveillance en temps réel : Mises à jour en direct du statut des conteneurs, de l’utilisation des ressources et des logs.
  • Gestion des conteneurs : Démarrez, arrêtez, redémarrez et inspectez facilement vos conteneurs.
  • Gestion des images : Téléchargez et gérez vos images Docker.
  • Configuration réseau : Créez et configurez des réseaux Docker.
  • Gestion des volumes : Créez et gérez des données persistantes avec les volumes Docker.
  • Visualisation des ressources : Graphiques visuels pour l’utilisation du CPU, de la mémoire et du réseau.

💾 Installation

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Distribution Linux (Ubuntu, Debian, etc ...).
  • Docker installé.
  • Accès terminal.
  • Connexion internet.
  • Générez 2 clés de 32 caractères avec cette commande (elle va générer les deux d'un coup) et notez le résultat temporairement :
openssl rand -hex 32 && openssl rand -hex 32

Étapes d'Installation avec socket proxy

  1. Créez votre compose.yml dans le dossier où vous comptez installer Arcane :
nano compose.yml
  1. Et collez ça dedans :
services:
  docker-socket-proxy:
    image: tecnativa/docker-socket-proxy:latest
    container_name: arcane-docker-proxy
    environment:
      - EVENTS=1
      - PING=1
      - VERSION=1
      # Security critical
      - AUTH=0
      - SECRETS=0
      - POST=1
      # Not always needed
      - BUILD=0
      - COMMIT=0
      - CONFIGS=0
      - CONTAINERS=1
      - DISTRIBUTION=0
      - EXEC=1
      - IMAGES=1
      - INFO=1
      - NETWORKS=1
      - NODES=0
      - PLUGINS=0
      - SERVICES=0
      - SESSION=0
      - SWARM=0
      - SYSTEM=0
      - TASKS=0
      - VOLUMES=1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - arcane-internal
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true

  arcane:
    image: ghcr.io/getarcaneapp/arcane:latest
    container_name: arcane
    restart: unless-stopped
    ports:
      - 3552:3552
    volumes:
      - ./arcane-data:/app/data
    # - /srv/appdata:/srv/appdata
    environment:
      - PUID=1000
      - PGID=1000
      - ENCRYPTION_KEY=ma_clé_1
      - JWT_SECRET=ma_clé_2
     # - OIDC_ENABLED=false
      - DOCKER_HOST=tcp://docker-socket-proxy:2375
    networks:
      - arcane-internal
    depends_on:
      - docker-socket-proxy
    healthcheck:
      test: ['CMD-SHELL', 'curl -fsS http://localhost:3552/api/health >/dev/null || exit 1']
      interval: 10s
      timeout: 3s
      retries: 5
      start_period: 15s

networks:
  arcane-internal:
    driver: bridge
    name: arcane-internal
  • - ENCRYPTION_KEY=ma_clé_1 => Remplacez ma_clé_1 par une de vos deux clés.
  • - JWT_SECRET=ma_clé_2 => Remplacez ma_clé_2 par l'autre clé.

Pour relier votre domaine, il faut proxy l'IP de votre serveur suivi du port : http://ip:3552.

  1. On va déployer l'application :
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3552 par défaut :
http://ip:3552

ou votre domaine :

https://arcane.mondomaine.com

Étapes d'Installation sans socket proxy

  1. Créez votre compose.yml dans le dossier ou vous comptez installer Arcane :
nano compose.yml
  1. Collez ça dedans :
services:
  arcane:
    image: ghcr.io/getarcaneapp/arcane:latest
    container_name: arcane
    ports:
      - '3552:3552'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - arcane-data:/app/data
    # - /srv/appdata:/srv/appdata
    environment:
      - APP_URL=http://192.168.1.176:3552
      - PUID=1000
      - PGID=1000
      - ENCRYPTION_KEY=ma_clé_1
      - JWT_SECRET=ma_clé_2
    restart: unless-stopped

volumes:
  arcane-data:
  • - APP_URL=https://arcane.mondomaine.com => Remplacez https://arcane.mondomaine.com par votre domaine ou par http://ip:3552 en replaçant IP par l'ip de votre serveur.
  • - ENCRYPTION_KEY=ma_clé_1 => Remplacez ma_clé_1 par une de vos deux clés.
  • - JWT_SECRET=ma_clé_2 => Remplacez ma_clé_2 par l'autre clé.
  1. On va déployer l'application :
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3552 par défaut :
http://ip:3552

ou votre domaine :

https://arcane.mondomaine.com

👤 Création du compte administrateur

Une fois n'est pas coutume, il faudra créer votre compte administrateur, dans ce cas c'est plus un changement de mot de passe. En avant !

Lancez votre instance Arcane, complétez les informations demandées :

  • Nom d'utilisateur administrateur par défaut => arcane
  • Mot de passe administrateur par défaut => arcane-admin

Cliquez sur Sign in pour poursuivre.

Petit message de bienvenue, cliquez sur Continue :

Changez le mot de passe administrateur par défaut :

  • New Password => Choisissez un mot de passe fort de préférence.
  • Confirm Password => Confirmez votre mot de passe.

Cliquez sur Continue.

Si vous êtes sous Linux, rien à changer, cliquez sur Continue :

Il ne vous reste qu'à cliquer sur Go to Dashboard pour atteindre votre tableau de bord :


👥 Gestion des utilisateurs

Si vous avez besoin d'accorder l'accès à votre instance Arcane à d'autres utilisateurs, il est possible d'ajouter des utilisateurs.

Cliquez sur Settings dans le menu de gauche, ensuite cliquez sur User Management :

Cliquez sur :

Complétez la fiche :

  • Username => Indiquez le nom d'utilisateur.
  • Password => Indiquez le mot de passe utilisateur.
  • Display Name => Choisissez le nom qui sera affiché.
  • Email => Indiquez l'adresse mail de l'utilisateur.
  • Role => Pour le moment, seul le rôle administrateur existe.

Terminez en cliquant sur Create User, l'utilisateur a bien été ajouté :


📦 Gestion des containers, images, réseaux & volumes

Dans le menu de gauche, vous avez tout ce qui est habituel pour gérer vos containers :

Containers

  • Create Container
  • Inspect
  • Restart
  • Stop
  • Remove

Images

  • Prune Unused
  • Pull Image
  • Inspect
  • Pull
  • Remove

Networks

  • Create Network
  • Inspect
  • Remove

Volumes

  • Create Volume
  • Inspect
  • Delete

🔌 Ajouter un environnement

Afin d'ajouter un serveur pour que Arcane puisse gérer ses containers, il faudra installer un agent, agent qui aura pour rôle de communiquer avec votre instance principale Arcane.

➕ Ajouter le serveur à son instance Arcane

Dans le menu de gauche, cliquez sur Environments :

  • 1 => Cliquez sur + Add Environment.

Complétez les informations suivantes :

  • 1 => Nommez le serveur.
  • 2 => Ajoutez l'URL de votre agent, bien souvent : ip:3553 en prenant soin de remplacer ip par l'ip de votre serveur.
  • 3 => Cliquez sur Generate Agent Configuration.

Ce qui va générer trois choses :

  • 1 => Une clé API, notez cette clé provisoirement.
  • 2 => Soit un docker run pour déployer l'agent.
  • 3 => Soit un docker compose pour déployer l'agent, au choix.

Quelque soit la solution choisie, modifier dans le docker run ou dans le docker compose, la partie <YOUR_API_KEY> par la clé API que vous avez noté.

Remplacez localhost par l'IP de votre instance arcane, pas de l'agent.

  • 4 => Cliquez sur Done.

🕵️ Déployer l'agent sur le serveur avec Docker compose

  1. Créez votre compose.yml dans le dossier où vous comptez installer l'agent Arcane :
nano compose.yml
  1. Collez le compose généré par Arcane et modifié par vos soins.
  2. On va déployer l'application :
docker compose up -d

🏃‍♂️ Déployer l'agent sur le serveur avec Docker run

Collez le docker run modifié par vos soins dans votre terminal et faites entrée pour le déployer.

Après quelques instants sur votre instance Arcane, le serveur a bien été ajouté :

Arcane

🗒️ Gestion des Projects

La parti Porjects, c'est comme les stacks dans Portainer.

Il est possible de gérer les compose de vos containers existants, "à la Portainer" :

Pour ça il faut indiquer dans le compose de votre instance Arcane, de votre agent ou vos agents, le chemin du dossier où se trouvent tous les dossiers de vos containers, qui contiennent eux-mêmes le compose et/ou .env.

Prenons l'exemple comme dans le compose

  • # - /srv/appdata:/srv/appdata

Il faut décommenter la ligne dans le compose de votre instance Arcane et ajouter une ligne dans le compose de votre agent, niveau volumes. Il faut impérativement monter dans et hors le container le même chemin si non cela peut avoir des conséquences désagréables sur vos containers existants. ATTENTION !

Pour le compose d'Arcane même cela donne ça :

Et pour votre agent, en imaginant que le chemin des containers est le même :

Quand vous avez modifié votre compose, arrêtez le container et terminez par un docker compose up -d.

Maintenant il faut retourner sur votre instance Arcane et éditer chaque serveur en cliquant sur View Details :

Modifier ces deux points :

  • 1 => Indiquez le chemin complet renseigné dans le compose.
  • 2 => Vous pouvez en profiter pour mettre la bonne IP de votre serveur.

Validez, vous pouvez maintenant gérer les stacks de vos containers existants :


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer