Files
Containarr/README.md
2026-05-19 16:58:44 +02:00

3.6 KiB

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, groupés par host et par projet compose
  • Actions : start, stop, restart sur un container ou sur tout un projet compose
  • Streaming de logs en direct (par container ou pour tout un projet simultanément)
  • Auto-update automatique et manuel des images Docker
  • Gestion des volumes, images et réseaux
  • Liens directs vers les services exposés (clic sur un port)
  • 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>"
  CONTAINARR_HOST_IP: "<ip-lan-de-la-vm>"      # ex: 192.168.1.95 — utilisé pour les liens de ports

CONTAINARR_HOST_IP est optionnel mais recommandé : sans lui, l'IP affichée sera l'adresse réseau Docker interne, et les liens vers les services exposés ne fonctionneront pas correctement.

4. Lancer

docker compose up -d

L'agent apparaît dans l'interface dans les secondes qui suivent.


Auto-update

Containarr peut surveiller et mettre à jour automatiquement les images Docker de vos containers.

  • Par container : clic sur l'icône ↻ d'un container → activer l'auto-update et choisir l'intervalle de vérification
  • Par projet : même bouton au niveau du groupe projet → applique la policy à tous les containers du projet
  • Mise à jour manuelle : bouton "Mettre à jour maintenant" dans le panneau auto-update

Les mises à jour utilisent l'API Docker directement (pull de la nouvelle image + recréation du container avec la même configuration).


Ports

Port Usage
8080 Interface web + API REST + WebSocket
9090 gRPC (connexions des agents uniquement)