Skip to content

Dockerized stack to visualize web traffic in real time from Nginx logs, with a secure and automated GoAccess dashboard.

Notifications You must be signed in to change notification settings

y2-znt/docker-goaccess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker - GoAccess + Nginx (Reverse Proxy + Dashboard)

Description du Projet

Ce projet implémente une solution de monitoring de logs Nginx en utilisant GoAccess, déployée via Docker Compose. L'architecture se compose d'un reverse proxy Nginx et d'un serveur GoAccess, permettant l'analyse en temps réel des logs d'accès.

Architecture

  • Reverse Proxy (Nginx)

    • Conteneur basé sur nginx:alpine
    • Point d'entrée pour le trafic
    • Gestion des logs d'accès
  • GoAccess

    • Conteneur basé sur Debian Bullseye
    • Interface web pour l'analyse des logs
    • Génération de rapports en temps réel
    • Serveur Apache2 pour héberger l'interface
docker-goaccess/
├── docker-compose.yml
├── reverse-proxy/
│   ├── Dockerfile
│   └── nginx.conf
├── goaccess/
│   ├── Dockerfile
│   ├── apache.conf
│   └── crontab
├── logs/
└── .env

Fonctionnalités Principales

  • Analyse en temps réel des logs Nginx
  • Interface web sécurisée avec authentification basic
  • Sécurisation via .htaccess (Apache) et génération dynamique de .htpasswd
  • Génération automatique des rapports via crontab
  • Healthchecks pour les deux conteneurs
  • Gestion optimisée des ressources système
  • Volume partagé pour la persistance des logs

Prérequis

  • Docker
  • Docker Compose
  • Variables d'environnement configurées pour l'authentification:
    • GOACCESS_USER
    • GOACCESS_PASSWORD

Installation et Déploiement

  1. Cloner le repo :
git clone https://github.com/y2-znt/docker-goaccess.git
cd docker-goaccess
  1. Créer un fichier .env avec les credentials :
GOACCESS_USER=votre_utilisateur
GOACCESS_PASSWORD=votre_mot_de_passe
  1. Lancer les conteneurs :
docker compose up --build

Accès aux Services

Spécifications Techniques

Limitations des Ressources

  • Mémoire vive : 512Mo par conteneur
  • Mémoire maximale : 1Go par conteneur
  • Swap désactivé (mem_swappiness: 0)

Monitoring

  • Healthchecks toutes les 30 secondes
  • Redémarrage automatique des conteneurs
  • Génération des rapports GoAccess toutes les 5 minutes

Sécurité

  • Authentification Basic Auth pour l'accès à GoAccess
  • Isolation réseau via un réseau Docker dédié
  • Ports non standards utilisés (8080, 50001)

Points Techniques Notables

  • Utilisation exclusive d'images officielles Docker
  • Configuration optimisée des conteneurs
  • Gestion des logs centralisée
  • Architecture modulaire et scalable
  • Sécurisation des accès

Maintenance

Les logs sont conservés dans un volume Docker nommé nginx_logs pour assurer la persistance des données. Les rapports sont générés automatiquement et mis à jour régulièrement via cron.

About

Dockerized stack to visualize web traffic in real time from Nginx logs, with a secure and automated GoAccess dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published