{"id":27615650,"url":"https://github.com/y2-znt/docker-goaccess","last_synced_at":"2025-06-27T08:33:44.600Z","repository":{"id":288571097,"uuid":"963787618","full_name":"y2-znt/docker-goaccess","owner":"y2-znt","description":"Dockerized stack to visualize web traffic in real time from Nginx logs, with a secure and automated GoAccess dashboard.","archived":false,"fork":false,"pushed_at":"2025-04-18T09:17:52.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T03:57:05.114Z","etag":null,"topics":["devops","docker","goaccess","logs","monitoring","nginx","reverse-proxy"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/y2-znt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-10T07:56:52.000Z","updated_at":"2025-04-18T15:46:55.000Z","dependencies_parsed_at":"2025-04-18T22:54:34.805Z","dependency_job_id":"442674d9-6f4d-402e-b124-d21c7c978299","html_url":"https://github.com/y2-znt/docker-goaccess","commit_stats":null,"previous_names":["y2-znt/docker-goaccess"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y2-znt%2Fdocker-goaccess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y2-znt%2Fdocker-goaccess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y2-znt%2Fdocker-goaccess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y2-znt%2Fdocker-goaccess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/y2-znt","download_url":"https://codeload.github.com/y2-znt/docker-goaccess/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250366715,"owners_count":21418769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","docker","goaccess","logs","monitoring","nginx","reverse-proxy"],"created_at":"2025-04-23T03:57:09.204Z","updated_at":"2025-04-23T03:57:09.846Z","avatar_url":"https://github.com/y2-znt.png","language":"Dockerfile","readme":"# Docker - GoAccess + Nginx (Reverse Proxy + Dashboard)\n\n## Description du Projet\n\nCe 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.\n\n## Architecture\n\n- **Reverse Proxy (Nginx)**\n\n  - Conteneur basé sur nginx:alpine\n  - Point d'entrée pour le trafic\n  - Gestion des logs d'accès\n\n- **GoAccess**\n  - Conteneur basé sur Debian Bullseye\n  - Interface web pour l'analyse des logs\n  - Génération de rapports en temps réel\n  - Serveur Apache2 pour héberger l'interface\n\n```\ndocker-goaccess/\n├── docker-compose.yml\n├── reverse-proxy/\n│   ├── Dockerfile\n│   └── nginx.conf\n├── goaccess/\n│   ├── Dockerfile\n│   ├── apache.conf\n│   └── crontab\n├── logs/\n└── .env\n```\n\n## Fonctionnalités Principales\n\n- Analyse en temps réel des logs Nginx\n- Interface web sécurisée avec authentification basic\n- Sécurisation via `.htaccess` (Apache) et génération dynamique de `.htpasswd`\n- Génération automatique des rapports via crontab\n- Healthchecks pour les deux conteneurs\n- Gestion optimisée des ressources système\n- Volume partagé pour la persistance des logs\n\n## Prérequis\n\n- Docker\n- Docker Compose\n- Variables d'environnement configurées pour l'authentification:\n  - GOACCESS_USER\n  - GOACCESS_PASSWORD\n\n## Installation et Déploiement\n\n1. Cloner le repo :\n   \n```bash\ngit clone https://github.com/y2-znt/docker-goaccess.git\ncd docker-goaccess\n```\n   \n2. Créer un fichier .env avec les credentials :\n\n```bash\nGOACCESS_USER=votre_utilisateur\nGOACCESS_PASSWORD=votre_mot_de_passe\n```\n\n3. Lancer les conteneurs :\n\n```bash\ndocker compose up --build\n```\n\n## Accès aux Services\n\n- Reverse Proxy : http://localhost:8080 - Interface GoAccess : http://localhost:8081\n  - Authentification requise avec les credentials définis\n\n## Spécifications Techniques\n\n### Limitations des Ressources\n\n- Mémoire vive : 512Mo par conteneur\n- Mémoire maximale : 1Go par conteneur\n- Swap désactivé (mem_swappiness: 0)\n\n### Monitoring\n\n- Healthchecks toutes les 30 secondes\n- Redémarrage automatique des conteneurs\n- Génération des rapports GoAccess toutes les 5 minutes\n\n### Sécurité\n\n- Authentification Basic Auth pour l'accès à GoAccess\n- Isolation réseau via un réseau Docker dédié\n- Ports non standards utilisés (8080, 50001)\n\n## Points Techniques Notables\n\n- Utilisation exclusive d'images officielles Docker\n- Configuration optimisée des conteneurs\n- Gestion des logs centralisée\n- Architecture modulaire et scalable\n- Sécurisation des accès\n\n## Maintenance\n\nLes 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.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy2-znt%2Fdocker-goaccess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fy2-znt%2Fdocker-goaccess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy2-znt%2Fdocker-goaccess/lists"}