Description
Arcane est une interface web moderne pour gérer Docker, écrite en SvelteKit (frontend ultra-rapide) avec un backend Go. Le projet se veut l'alternative next-gen à [[app-portainer]] et [[app-dockge]] : plus rapide, plus belle, plus agréable à utiliser au quotidien, sans sacrifier les fonctionnalités essentielles.
Arcane se distingue par une UX particulièrement soignée : streaming de logs en temps réel, stats live avec graphes (CPU/RAM/Net/Disk par conteneur), gestion des images/volumes/réseaux/registries, et un mode agent pour piloter des hôtes distants. Le tout dans un binaire unique Go (~30 Mo) et une UI SvelteKit servie en statique.
- ✅ UI SvelteKit : rapide, fluide, dark mode natif
- ✅ Multi-hôtes (via mode agent)
- ✅ Streaming logs temps réel (style Dozzle/Dockge)
- ✅ Statistiques live avec graphes (CPU, RAM, Net I/O, Disk I/O)
- ✅ Gestion complète : conteneurs, images, volumes, réseaux, registries
- ✅ Stacks docker-compose : déploiement depuis UI
- ✅ Authentification multi-utilisateurs (intégrée)
- ✅ Proxy inversé intégré (optionnel, pour exposer les apps managées)
- ✅ Update detection : badge "mise à jour dispo" sur chaque image
- ✅ Mobile-friendly (UI responsive)
Public cible : homelabers qui veulent une UI moderne et rapide sans la lourdeur de Portainer ni la simplicité extrême de Dockge. Excellent compromis.
Alternatives directes : [[app-portainer]] (mature, plus de features), [[app-dockge]] (plus minimaliste, plus orienté Compose pur), [[app-yacht]] (templating, peu maintenue), [[app-komodo]] (multi-serveurs).
Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
arcane:
image: ghcr.io/getarcaneapp/arcane:latest
container_name: arcane
restart: unless-stopped
security_opt:
- no-new-privileges:true
environment:
- ARCANE_SERVER_SECRET=changez-moi-en-secret-aleatoire-tres-long
- ARCANE_SERVER_URL=https://arcane.example.com
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- /var/run/docker.sock:/var/run/docker.sock # ⚠️ voir Sécurité
- arcane_data:/app/data
ports:
- "3552:3552"
labels:
- "traefik.enable=true"
- "traefik.http.routers.arcane.rule=Host(`arcane.example.com`)"
- "traefik.http.routers.arcane.entrypoints=websecure"
- "traefik.http.routers.arcane.tls.certresolver=letsencrypt"
- "traefik.http.services.arcane.loadbalancer.server.port=3552"
volumes:
arcane_data:
Option 2 : Image Docker one-liner
docker run -d \ --name arcane \ --restart unless-stopped \ -p 3552:3552 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v arcane_data:/app/data \ -e ARCANE_SERVER_SECRET="$(openssl rand -hex 32)" \ -e ARCANE_SERVER_URL=https://arcane.example.com \ ghcr.io/getarcaneapp/arcane:latest
Configuration
- Accéder à l'UI :
http://IP:3552 - Créer le compte admin au premier démarrage
- Vérifier la détection auto de l'environnement Docker local
- (Optionnel) Ajouter un agent distant : Settings > Agents > URL + clé partagée
- Explorer le dashboard : conteneurs en cours avec stats live
- Déployer une première stack : Stacks > New > coller un
compose.yaml
Alternatives
Open Source
- [[app-portainer]] — Plus mature, K8s/Swarm, RBAC avancé
- [[app-dockge]] — Plus minimaliste, Compose pur
- [[app-yacht]] — Templating 1-click (peu maintenue)
- [[app-komodo]] — Multi-serveurs, orchestration
- [[app-dockhand]] — Management simple
- CasaOS — App store + Docker management
- Cosmos — Cloud self-hosted
Propriétaires
- Docker Desktop — UI officielle, pas self-hosted
- Portainer Business — SSO, support commercial
- Synology Container Manager — DSM uniquement
- Rancher (SUSE) — Enterprise K8s
Tableau comparatif
| Critère | Arcane | Portainer CE | Dockge | Yacht | Komodo |
|---|---|---|---|---|---|
| UI | Très moderne (Svelte) | Classique | Élégante | Simple | Moderne |
| Multi-hôte | ✅ (agent) | ✅ (agent) | ✅ (agent) | ❌ | ✅ (natif) |
| Stats live | ✅ graphes | Basique | ❌ | ❌ | ✅ |
| App store | ❌ | ✅ | ❌ | ✅ | ❌ |
| K8s | ❌ | ✅ | ❌ | ❌ | ❌ |
| Licence | Apache-2.0 | Zlib (CE) | MIT | MIT | GPL-3.0 |
| Langage frontend | SvelteKit | Angular | React | Vue | TypeScript |
Verdict : Arcane est un excellent choix 2025-2026 pour un homelab qui veut une UI moderne et rapide sans les lourdeurs d'un Portainer. Idéal en mono-serveur ; pour le multi-hôtes, [[app-komodo]] est plus abouti.
Sécurité
- ⚠️ Socket Docker monté = privilèges root sur l'hôte. Ne jamais exposer Arcane sans auth forte.
- [[app-traefik]] + Authelia/Authentik recommandé pour l'accès web.
- Variable
ARCANE_SERVER_SECRETobligatoire : 64 caractères aléatoires minimum (openssl rand -hex 32). - Restriction IP : n'exposer Arcane que sur le LAN ou via Tailscale/WireGuard.
- Pour limiter la surface : [[app-docker-socket-proxy]] peut être utilisé en amont (Arcane n'a besoin que d'un sous-ensemble de l'API Docker).
