# BARAAA-70 : Correction Ofelia en Boucle de Redémarrage ## Problème Résolu Le service Ofelia était en boucle de redémarrage car il n'était **pas défini** dans `compose.coolify.yml`. Les labels Ofelia étaient présents sur le service `backup`, mais aucun scheduler Ofelia n'existait pour les lire et exécuter les tâches planifiées. ## Solution Appliquée Ajout du service `ofelia` dans `compose.coolify.yml` : ```yaml ofelia: image: mcuadros/ofelia:latest command: daemon --docker volumes: - /var/run/docker.sock:/var/run/docker.sock:ro restart: unless-stopped depends_on: - postgres labels: - 'coolify.managed=true' - 'coolify.type=service' - 'ofelia.enabled=true' ``` ### Caractéristiques de la Configuration - **Image officielle** : `mcuadros/ofelia:latest` - **Mode** : `daemon --docker` (surveille les labels Docker) - **Socket Docker** : monté en lecture seule pour surveiller les conteneurs - **Dépendance** : démarre après `postgres` (aligné avec `compose.lan.yml`) - **Restart policy** : `unless-stopped` (redémarre automatiquement) - **Label Ofelia** : `ofelia.enabled=true` (auto-activation) ## Vérification Post-Déploiement ### 1. Vérifier que le Service Démarre Via l'interface Coolify ou Docker : ```bash # Vérifier le statut du conteneur docker ps | grep ofelia # Attendu : état "Up" (pas de restart loop) # Vérifier les logs docker logs agenthub-ofelia-1 --tail 50 # Attendu : messages de démarrage sans erreur ``` **Logs attendus** : ``` Starting Ofelia... Ofelia is running in daemon mode Watching Docker containers for job labels ``` ### 2. Vérifier la Détection des Jobs Ofelia devrait détecter les jobs définis dans les labels du service `backup` : ```bash docker logs agenthub-ofelia-1 | grep backup-daily ``` **Attendu** : ``` Job backup-daily registered: schedule=0 0 3 * * *, command=/usr/local/bin/backup.sh ``` ### 3. Tester le Job Backup Manuellement (Optionnel) Pour vérifier que le job fonctionne sans attendre 3h du matin : ```bash # Activer le profil backup si pas déjà fait docker compose --profile backup up -d backup # Exécuter le job manuellement via Ofelia docker exec agenthub-ofelia-1 ofelia run backup-daily # Vérifier les logs du backup docker logs agenthub-backup-1 ``` **Attendu** : fichier de backup créé dans `/backups` du conteneur backup. ### 4. Vérifier le Cron Automatique Le backup automatique devrait s'exécuter tous les jours à 3h00 (UTC) : ```bash # Le lendemain matin, vérifier les logs Ofelia docker logs agenthub-ofelia-1 | grep "Job backup-daily" # Vérifier les logs du service backup docker logs agenthub-backup-1 --since 24h ``` ## Prochaines Étapes 1. **Déployer** : redéployer l'application sur Coolify avec le nouveau `compose.coolify.yml` 2. **Vérifier** : suivre les étapes de vérification ci-dessus 3. **Activer backup** : si le service backup n'est pas déjà actif, l'activer avec le profil 4. **Monitoring** : surveiller les logs Ofelia pendant quelques jours ## Notes Importantes - Le service `backup` est dans un profil optionnel (`profiles: [backup]`). Pour que les jobs Ofelia fonctionnent, ce service doit être démarré manuellement : ```bash docker compose --profile backup up -d backup ``` - Ofelia peut tourner même si le service `backup` n'est pas actif. Il attendra simplement que le conteneur cible soit disponible. - Le socket Docker doit être accessible en lecture pour qu'Ofelia puisse surveiller les labels et exécuter les commandes dans les conteneurs. ## Références - Configuration de référence : `compose.lan.yml` (lignes 35-44) - Documentation Ofelia : https://github.com/mcuadros/ofelia - Format cron : `0 0 3 * * *` = tous les jours à 3h00 UTC