Système de Maintenance en Condition Opérationnelle (MCO) pour instances Docker.
- Dashboard : Vue d'ensemble de tous vos conteneurs Docker
- Multi-serveurs : Surveillez plusieurs serveurs depuis une interface unique
- Détection de mises à jour :
- Comparaison du digest (même tag mis à jour sur le registre)
- Comparaison avec le tag
latest
- Notifications par email : Rapports périodiques configurables
- Support multi-registres : Docker Hub, Quay.io, GHCR
- Docker et Docker Compose
- (Optionnel) Rust 1.75+ pour le développement
- Clonez le repository :
git clone https://github.com/votre-user/domaj.git
cd domaj- Configurez l'environnement :
cp .env.example .env
# Éditez .env avec vos paramètres- Lancez les services :
docker compose up -d- Accédez à l'interface :
- Interface Web et API unifiés sur le même port : http://localhost:3000
Sur chaque serveur à surveiller, déployez l'agent Domaj :
docker run -d \
--name domaj-agent \
-p 3001:3001 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e API_KEY=votre-cle-api \
domaj-agent:latestPuis ajoutez le serveur via l'interface web.
| Variable | Description | Défaut |
|---|---|---|
SCAN_INTERVAL |
Fréquence de scan (cron) | 0 0 * * * (quotidien) |
API_SECRET |
Secret pour l'auth des agents | - |
SMTP_HOST |
Serveur SMTP | - |
SMTP_PORT |
Port SMTP | 587 |
SMTP_USER |
Utilisateur SMTP | - |
SMTP_PASSWORD |
Mot de passe SMTP | - |
SMTP_FROM |
Adresse expéditeur | - |
NOTIFY_EMAILS |
Destinataires (virgule-séparé) | - |
# Toutes les heures
SCAN_INTERVAL="0 * * * *"
# Tous les jours à 6h
SCAN_INTERVAL="0 6 * * *"
# Toutes les 6 heures
SCAN_INTERVAL="0 */6 * * *"domaj/
├── docker-compose.yml # Orchestration
├── domaj-server/ # Backend Rust (API + scheduler) sert aussi le frontend compilé
├── domaj-agent/ # Agent Docker distant
└── domaj-web/ # Code source du Frontend SvelteKit (compilé et servi par domaj-server)
# Backend et Frontend
cd domaj-server
cargo run
# Agent diststant
cd domaj-agent
cargo run
# Pour développer le frontend avec rechargement à chaud (Hot Module Replacement)
cd domaj-web
npm install
npm run dev| Méthode | Endpoint | Description |
|---|---|---|
GET |
/api/servers |
Liste des serveurs |
POST |
/api/servers |
Ajouter un serveur |
DELETE |
/api/servers/:id |
Supprimer un serveur |
GET |
/api/containers |
Tous les conteneurs |
GET |
/api/updates |
Mises à jour disponibles |
POST |
/api/scan |
Déclencher un scan |
Voir roadmap.txt pour les fonctionnalités planifiées :
- Notifications Telegram/Discord
- Support des registres privés
- Mises à jour automatiques
- Authentification OAuth2
- Scan CVE
MIT License - voir LICENSE