--- title: LoggiFly created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, docker, logs, monitoring, notifications, python, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Docker, https://github.com/clemcer/LoggiFly] --- # 🐳 LoggiFly > **Vos logs Docker vous parlent ?** : LoggiFly lit en continu les logs de vos conteneurs, filtre les motifs qui vous intéressent (erreurs, exceptions, mots-clés) et vous envoie une notification. Fini les logs perdus dans `docker logs`. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | (GitHub) | | **GitHub** | [clemcer/LoggiFly](https://github.com/clemcer/LoggiFly) | | **License** | MIT | | **Langage** | Python | | **Étoiles GitHub** | 1740 ⭐ | | **Dernière MAJ** | 2026-06-02 | | **Catégorie** | [[cat-docker\|Docker]] | ## 📝 Description **LoggiFly** est un **démon léger** qui suit en temps réel (`docker logs -f`) la sortie de tous vos conteneurs, applique des **règles de filtrage** (regex, mots-clés, niveaux), et **déclenche des notifications** (Discord, Slack, Telegram, Ntfy, Gotify, email…) quand un motif correspond. L'idée est de combler le manque entre `docker logs` (qu'il faut aller lire manuellement) et un ELK / Loki (trop lourd pour un homelab). LoggiFly est dans le juste milieu : GUI web, configuration YAML, notifications modernes. - ✅ **Multi-conteneurs** : suit tous les conteneurs, ou une sélection via labels / noms - ✅ **Règles YAML** : regex, mot-clé, niveau (ERROR/WARN/INFO), exclusion - ✅ **Notifications multi-canaux** : Discord, Slack, Telegram, Ntfy, Gotify, Pushover, email, webhook custom - ✅ **Anti-spam** : regroupement de notifications identiques sur une fenêtre de temps - ✅ **GUI web** : dashboard des dernières alertes, aperçu des logs filtrés - ✅ **Stockage SQLite** : conserve un historique des alertes - ✅ **Mode multi-hôte** : peut se connecter à plusieurs daemons distants **LoggiFly vs Dozzle** : Dozzle ([[app-dozzle]]) est un *viewer* de logs (lecture humaine), LoggiFly est un *alerter* (notification automatique). LoggiFly vs Loki/Grafana : stack pro pour gros volumes ; LoggiFly pour homelab. LoggiFly vs `grep + cron` : LoggiFly centralise, persiste et notifie — pas de scripts à maintenir. ## 🚀 Installation ### Docker Compose (recommandé) ```yaml # docker-compose.yml version: '3.8' services: loggifly: image: ghcr.io/clemcer/loggifly:latest container_name: loggifly restart: unless-stopped ports: - "8888:8888" # Web UI volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./config:/app/config # config.yaml + rules.yaml - loggifly-data:/app/data environment: - TZ=Europe/Paris - LG_CONFIG=/app/config/config.yaml labels: - "traefik.enable=true" - "traefik.http.routers.loggifly.rule=Host(`logs.example.com`)" - "traefik.http.routers.loggifly.entrypoints=websecure" - "traefik.http.routers.loggifly.tls.certresolver=letsencrypt" volumes: loggifly-data: ``` ### Exemple de config ```yaml # config.yaml general: check_interval: 5 log_retention_days: 7 containers: - name: "nextcloud" patterns: ["Fatal", "Error", "exception", "out of memory"] - name: "traefik" patterns: ["level=error"] notifications: discord: webhook: "https://discord.com/api/webhooks/…" ntfy: topic: "homelab-alerts" ``` ## ⚙️ Configuration Initiale 1. **Monter le socket Docker** (`/var/run/docker.sock:ro`) pour que LoggiFly puisse lister et lire les conteneurs 2. **Préparer le dossier de config** : `./config/config.yaml` (paramètres généraux) et `./config/rules.yaml` (règles) 3. **Définir un premier conteneur à surveiller** : `containers: [{name: "nextcloud", patterns: ["Error", "exception"]}]` 4. **Configurer au moins un canal de notification** : Discord webhook, Ntfy topic, Telegram bot, etc. 5. **Accéder à la GUI** : `http://IP:8888` pour visualiser le dashboard et l'historique des alertes 6. **Ajuster l'anti-spam** : `cooldown` pour éviter qu'une même erreur en boucle spamme vos notifications ## 🔄 Alternatives ### Open Source - [[app-dozzle|Dozzle]] — viewer web de logs en temps réel - **Loki + Grafana** — stack pro, beaucoup plus lourde - [[app-uptime-kuma|Uptime Kuma]] — monitoring d'uptime (pas de log streaming) - **Vector / Promtail** — agents de collecte de logs - **Docker events + script cron** — DIY ### Comparaison LoggiFly vs alternatives | Critère | LoggiFly | Dozzle | Loki+Grafana | Vector | | :--- | :--- | :--- | :--- | :--- | | Lecture temps réel | ✅ | ✅ | ✅ | ✅ | | Alertes/notifs | ✅ | ❌ | ✅ | ⚠️ (via Promtail) | | Règles regex | ✅ | ❌ (filtre simple) | ✅ (LogQL) | ✅ (VRL) | | GUI web | ✅ | ✅ | ✅ (Grafana) | ❌ | | Setup | 5 min | 2 min | 1h+ | 30 min | | RAM | ~50 Mo | ~30 Mo | ~500 Mo+ | ~50 Mo | **Verdict** : LoggiFly est **le choix idéal pour un homelab** qui veut des alertes pertinentes sans la lourdeur de Loki. Pour des volumes >10 Go/jour, passez à Loki. ### Propriétaires (ce que LoggiFly remplace) - **Datadog Log Management** (payant) - **Loggly** (payant) - **Sumo Logic** (payant) - **New Relic Logs** (payant) ## 🔐 Sécurité - ⚠️ **Socket Docker monté** : même en `ro`, peut lister tous vos conteneurs. Limiter via [[app-docker-socket-proxy-docker|docker-socket-proxy]] ou accès VPN - **Logs potentiellement sensibles** : les logs Nextcloud/Mailcow/Seafile contiennent des adresses mail, des chemins, des PII. Ne pas exposer la GUI sur Internet sans auth - **Webhooks** : valider les URLs, ne pas mettre de tokens dans le `docker-compose.yml` public — utiliser un `.env` ## 📚 Ressources - [GitHub clemcer/LoggiFly](https://github.com/clemcer/LoggiFly) - [Documentation & exemples](https://github.com/clemcer/LoggiFly/blob/main/docs/configuration.md) ## Pages Liées - [[cat-docker]] — Catégorie Docker - [[app-portainer]] / [[app-dockge]] / [[app-yacht]] — GUI Docker - [[app-traefik]] — Reverse-proxy - [[recettes-docker-compose]] — Compose files - [[securisation-home-lab]] — Bonnes pratiques