12c87d6a744591d3e8ad69bf0b97631e9af23773
Containarr
Interface web pour gérer les containers Docker de plusieurs machines depuis un seul endroit.
- Visualisation en temps réel de tous les containers par host
- Actions : start, stop, restart, remove
- Streaming de logs en direct
- Gestion des agents depuis l'interface admin
- PWA installable sur mobile
Architecture
┌─────────────────┐ gRPC ┌─────────────────┐
│ Agent (Rust) │ ◄─────────────────► │ Serveur (Go) │
│ VM distante │ │ + Interface web │
└─────────────────┘ └─────────────────┘
│ │
Docker socket SQLite + JWT
- Serveur : reçoit les connexions des agents, expose l'API REST et la PWA
- Agent : s'installe sur chaque VM à surveiller, se connecte au serveur
Installation du serveur
1. Télécharger le docker-compose
curl -fsSL https://gitea.anthonybouteiller.ovh/blomios/Containarr/raw/branch/main/docker-compose.server.yml -o docker-compose.yml
2. Éditer les valeurs
environment:
JWT_SECRET: "change-me-to-a-random-secret" # clé de signature JWT
ADMIN_USER: "admin" # identifiant admin
ADMIN_PASSWORD: "change-me" # mot de passe admin
3. Lancer
docker compose up -d
L'interface est accessible sur http://<ip-du-serveur>:8080.
Ajouter un agent sur une VM
1. Générer un token depuis l'interface admin
http://<ip-du-serveur>:8080 → Admin → Créer un token → saisir le hostname de la VM → copier le token affiché (il ne sera plus visible ensuite).
2. Télécharger le docker-compose agent
curl -fsSL https://gitea.anthonybouteiller.ovh/blomios/Containarr/raw/branch/main/docker-compose.agent.yml -o docker-compose.yml
3. Éditer les valeurs
environment:
CONTAINARR_SERVER_URL: "http://<ip-du-serveur>:9090"
CONTAINARR_AGENT_TOKEN: "<token-copié-depuis-l-admin>"
4. Lancer
docker compose up -d
L'agent apparaît dans l'interface dans les secondes qui suivent.
Ports
| Port | Usage |
|---|---|
8080 |
Interface web + API REST + WebSocket |
9090 |
gRPC (connexions des agents uniquement) |
Description
Languages
Svelte
44.7%
Go
26.9%
Rust
19.1%
TypeScript
7.3%
Dockerfile
0.5%
Other
1.5%