No description
  • JavaScript 86.3%
  • HTML 6.5%
  • Go 5.2%
  • CSS 1.6%
  • Dockerfile 0.4%
Find a file
Romain 2b63745830 Update docker-build-images.yml
Configuration de l'image de analyzer lors du build
2026-09-29 10:36:03 +02:00
.forgejo/workflows Update docker-build-images.yml 2026-09-29 10:36:03 +02:00
.github init repo 2026-09-29 10:19:27 +02:00
docs init repo 2026-09-29 10:19:27 +02:00
meta init repo 2026-09-29 10:19:27 +02:00
nginx-agent init repo 2026-09-29 10:19:27 +02:00
nginx-analyzer-agent init repo 2026-09-29 10:19:27 +02:00
nginx-control init repo 2026-09-29 10:19:27 +02:00
.gitignore init repo 2026-09-29 10:19:27 +02:00
LICENSE Initial commit 2026-09-25 04:47:48 +00:00
README.md init repo 2026-09-29 10:19:27 +02:00

Nginx Control

Nginx Control is a web-based control panel designed to simplify the management, monitoring and operation of Nginx reverse proxies running with Docker.

It provides a centralized interface for monitoring Nginx, managing configuration files, deploying configurations through Git, managing certificates and logs, monitoring backends, integrating security tools such as CrowdSec, and automating Docker-based virtual host publication.

Nginx Control is designed to keep using standard Nginx configuration files and conventions rather than introducing a proprietary configuration format.

🌐 Project

✨ Features

Monitoring

Monitor your Nginx reverse proxy from a single interface:

  • Nginx and container status
  • CPU, memory and network usage
  • Virtual host statistics
  • Backend monitoring
  • HTTP response statistics
  • VTS metrics
  • Real-time events

Configuration management

Manage and inspect your Nginx configuration directly from the dashboard:

  • conf.d
  • sites
  • snippets
  • streams
  • SSL certificates
  • Live logs
  • Configuration viewer
  • VHost generator
  • Nginx configuration testing
  • Nginx reload and restart

Nginx Control works with the usual Nginx configuration structure, making it possible to continue managing configuration files manually or through Git.

GitOps

Use a Git repository as the source of truth for your Nginx configuration.

Nginx Control can:

  • Pull configuration from Git
  • Display configuration changes
  • Test the configuration before deployment
  • Create configuration backups
  • Deploy validated configurations
  • Maintain a backup branch
  • Keep the complete configuration history in Git

This makes Nginx configuration easier to review, version, audit and restore.

Docker auto-configuration

Nginx Control can automatically discover and publish Docker containers using Docker labels.

For example:

labels:
  - "nginx-control.enable=true"
  - "nginx-control.vhost.server_name=app.example.com"
  - "nginx-control.vhost.location01=/"
  - "nginx-control.vhost.location01.proxy_pass=http://web:80"

Docker publication is available for:

  • Containers running on the same host as Nginx
  • Remote Docker hosts using the Nginx Control Agent
  • Direct connections
  • WebSocket tunnels
  • Relay mode

This allows application teams to publish containers without having to manually create an Nginx virtual host for every application.

Security integrations

Nginx Control can integrate with security and traffic analysis tools such as:

  • CrowdSec
  • GeoIP / MaxMind
  • IP blocklists
  • Nginx Analyzer
  • Custom log analysis rules

CrowdSec integration allows Nginx Control to display security information and interact with CrowdSec decisions.

Logs and traffic analysis

Nginx Control provides several ways to inspect traffic:

  • Real-time Nginx logs
  • Per-VHost logs
  • GoAccess reports
  • Nginx Analyzer
  • Geographic traffic visualization
  • Request analysis
  • Detection of unusual traffic patterns

The goal is to combine Nginx metrics, logs and configuration context in the same interface.

SSL certificates

Manage and inspect certificates used by Nginx:

  • Manual PEM/KEY certificates
  • Let's Encrypt certificates
  • Certbot
  • DNS-01 challenges
  • Certificate information and expiration
  • SSL snippets

API and automation

Nginx Control provides a REST API for integration with external tools and automation platforms.

It can also expose webhooks for reacting to events generated by the dashboard.

🐳 Docker

Nginx Control is designed to run alongside Nginx in Docker.

A typical deployment consists of:

                    ┌─────────────────────┐
                    │    Nginx Control    │
                    │                     │
                    │  Dashboard / API    │
                    │  Git / Monitoring   │
                    └──────────┬──────────┘
                               │
                         Docker network
                               │
              ┌────────────────┴────────────────┐
              │                                 │
      ┌───────▼───────┐                 ┌───────▼───────┐
      │     Nginx     │                 │    CrowdSec   │
      │ Reverse Proxy │                 │   (optional)  │
      └───────┬───────┘                 └───────────────┘
              │
       ┌──────┴──────┐
       │             │
   Application   Application

Remote Docker hosts can be connected through the Nginx Control Agent.

🧩 Architecture

Nginx Control is intentionally built around existing Nginx concepts.

The dashboard does not replace Nginx configuration with a proprietary abstraction. Instead, it provides tools around the configuration that is already used by Nginx.

This makes it possible to combine:

  • Traditional Nginx configuration
  • Docker
  • GitOps
  • Automated container publication
  • Monitoring
  • Security tools
  • Configuration automation

🚀 Getting started

The complete installation and configuration instructions are available in the documentation.

👉 Read the Nginx Control documentation

For an overview of the project and its architecture:

👉 Visit the Nginx Control website

📸 Screenshots

Screenshots and demonstrations of the different features are available on the project website and in the documentation.

🧪 Project status

Nginx Control is an actively developed project.

Some features are currently marked as experimental, especially parts of the automatic Docker configuration and remote Docker publication.

The project is evolving as new features are added and existing integrations are improved.


Nginx Control — Français

Nginx Control est une interface web permettant de simplifier la gestion, la supervision et l'exploitation de reverse proxies Nginx fonctionnant avec Docker.

Il fournit une interface centralisée pour superviser Nginx, gérer les fichiers de configuration, déployer les configurations avec Git, gérer les certificats et les journaux, superviser les backends, intégrer des outils de sécurité comme CrowdSec et automatiser la publication de conteneurs Docker.

Nginx Control conserve les fichiers et conventions de configuration standards de Nginx, sans imposer un format de configuration propriétaire.

🌐 Projet

✨ Fonctionnalités

Supervision

Supervisez votre reverse proxy Nginx depuis une interface centralisée :

  • État de Nginx et du conteneur
  • Consommation CPU, mémoire et réseau
  • Statistiques des Virtual Hosts
  • Supervision des backends
  • Statistiques des réponses HTTP
  • Métriques VTS
  • Journal des événements

Gestion de la configuration

Nginx Control permet de consulter et gérer la configuration Nginx :

  • conf.d
  • sites
  • snippets
  • streams
  • Certificats SSL
  • Journaux en temps réel
  • Explorateur de configuration
  • Générateur de VHost
  • Test de configuration
  • Rechargement et redémarrage de Nginx

Nginx Control utilise la structure de configuration habituelle de Nginx. Il reste donc possible de modifier les fichiers manuellement ou de les gérer avec Git.

GitOps

Utilisez un dépôt Git comme source de vérité pour votre configuration Nginx.

Nginx Control permet notamment de :

  • Récupérer la configuration depuis Git
  • Consulter les modifications
  • Tester la configuration avant déploiement
  • Créer des sauvegardes
  • Déployer une configuration validée
  • Utiliser une branche de sauvegarde
  • Conserver l'historique complet des modifications

L'objectif est de faciliter le suivi, l'audit, la restauration et le déploiement des configurations Nginx.

Auto-configuration Docker

Nginx Control peut découvrir automatiquement les conteneurs Docker et générer leur publication Nginx à partir de labels Docker.

Exemple :

labels:
  - "nginx-control.enable=true"
  - "nginx-control.vhost.server_name=app.example.com"
  - "nginx-control.vhost.location01=/"
  - "nginx-control.vhost.location01.proxy_pass=http://web:80"

La publication Docker peut fonctionner avec :

  • Des conteneurs présents sur le même hôte que Nginx
  • Des hôtes Docker distants avec l'agent Nginx Control
  • Une connexion directe
  • Un tunnel WebSocket
  • Un mode relay

Cela permet notamment de publier automatiquement des applications sans devoir créer manuellement un Virtual Host Nginx pour chaque conteneur.

Intégrations de sécurité

Nginx Control peut intégrer différents outils de sécurité et d'analyse :

  • CrowdSec
  • GeoIP / MaxMind
  • Blocklists IP
  • Nginx Analyzer
  • Règles personnalisées d'analyse des journaux

L'intégration CrowdSec permet notamment de consulter les informations de sécurité et d'interagir avec les décisions CrowdSec.

Journaux et analyse du trafic

Plusieurs outils permettent d'analyser le trafic Nginx :

  • Logs Nginx en temps réel
  • Logs par VHost
  • Rapports GoAccess
  • Nginx Analyzer
  • Visualisation géographique du trafic
  • Analyse des requêtes
  • Détection de comportements inhabituels

L'objectif est de réunir métriques, journaux et contexte de configuration Nginx dans une même interface.

Certificats SSL

Nginx Control permet de gérer et consulter les certificats utilisés par Nginx :

  • Certificats PEM/KEY
  • Let's Encrypt
  • Certbot
  • Challenges DNS-01
  • Informations et expiration des certificats
  • Snippets SSL

API et automatisation

Nginx Control fournit une API REST permettant son intégration avec des outils externes et des solutions d'automatisation.

Des webhooks peuvent également être utilisés pour réagir aux événements générés par le dashboard.

🐳 Docker

Nginx Control est conçu pour fonctionner avec Nginx dans Docker.

Une installation classique se présente ainsi :

                    ┌─────────────────────┐
                    │    Nginx Control    │
                    │                     │
                    │  Dashboard / API    │
                    │  Git / Monitoring   │
                    └──────────┬──────────┘
                               │
                         Réseau Docker
                               │
              ┌────────────────┴────────────────┐
              │                                 │
      ┌───────▼───────┐                 ┌───────▼───────┐
      │     Nginx     │                 │    CrowdSec   │
      │ Reverse Proxy │                 │   (optionnel) │
      └───────┬───────┘                 └───────────────┘
              │
       ┌──────┴──────┐
       │             │
   Application   Application

Les hôtes Docker distants peuvent être connectés avec Nginx Control Agent.

🧩 Architecture

Nginx Control est volontairement construit autour des concepts existants de Nginx.

Le dashboard ne remplace pas la configuration Nginx par une abstraction propriétaire. Il fournit des outils autour de la configuration réellement utilisée par Nginx.

Il est ainsi possible de combiner :

  • Configuration Nginx traditionnelle
  • Docker
  • GitOps
  • Publication automatique de conteneurs
  • Supervision
  • Outils de sécurité
  • Automatisation de configuration

🚀 Pour commencer

Les instructions complètes d'installation et de configuration sont disponibles dans la documentation.

👉 Lire la documentation Nginx Control

Pour découvrir le projet et son architecture :

👉 Visiter le site Nginx Control

📸 Captures d'écran

Les captures d'écran et démonstrations des différentes fonctionnalités sont disponibles sur le site du projet et dans la documentation.

🧪 État du projet

Nginx Control est un projet en développement actif.

Certaines fonctionnalités sont actuellement considérées comme expérimentales, notamment certaines parties de l'auto-configuration Docker et de la publication de conteneurs Docker distants.

Le projet continue d'évoluer avec l'ajout de nouvelles fonctionnalités et l'amélioration des intégrations existantes.