Initial vault setup
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
---
|
||||
title: Arcane
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, docker, container, ui, management, monitoring-docker, modern]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/getarcaneapp/arcane]
|
||||
---
|
||||
|
||||
# 🐳 Arcane
|
||||
|
||||
> **L'UI Docker moderne écrite en SvelteKit** — rapide, élégante, pensée pour l'expérience utilisateur.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [arcaneapp.io](https://arcaneapp.io/) |
|
||||
| **GitHub** | [getarcaneapp/arcane](https://github.com/getarcaneapp/arcane) |
|
||||
| **License** | Apache-2.0 |
|
||||
| **Langage** | TypeScript (Svelte/SvelteKit) + Go (backend) |
|
||||
| **Étoiles GitHub** | 5,7k ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-07 |
|
||||
| **Catégorie** | [[cat-docker\|Docker]] |
|
||||
|
||||
## 📝 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é)
|
||||
|
||||
```yaml
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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 Initiale
|
||||
|
||||
1. **Accéder à l'UI** : `http://IP:3552`
|
||||
2. **Créer le compte admin** au premier démarrage
|
||||
3. **Vérifier la détection auto** de l'environnement Docker local
|
||||
4. **(Optionnel) Ajouter un agent distant** : *Settings > Agents* > URL + clé partagée
|
||||
5. **Explorer le dashboard** : conteneurs en cours avec stats live
|
||||
6. **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_SECRET` obligatoire** : 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).
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub getarcaneapp/arcane](https://github.com/getarcaneapp/arcane)
|
||||
- [Site officiel](https://arcaneapp.io/)
|
||||
- [Documentation](https://docs.arcaneapp.io/)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-docker]] — Catégorie Docker
|
||||
- [[app-portainer]] — Référence plus mature
|
||||
- [[app-dockge]] — Alternative Compose pur
|
||||
- [[app-traefik]] — Reverse proxy
|
||||
- [[app-docker-socket-proxy]] — Sécuriser le socket
|
||||
- [[securisation-home-lab]] — Durcir l'infra
|
||||
Reference in New Issue
Block a user