- JavaScript 86.3%
- HTML 6.5%
- Go 5.2%
- CSS 1.6%
- Dockerfile 0.4%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .github | ||
| docs | ||
| meta | ||
| nginx-agent | ||
| nginx-analyzer-agent | ||
| nginx-control | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
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
- Website / Landing page: Nginx Control
- Documentation: Nginx Control Documentation
- Source code: Github
✨ 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.dsitessnippetsstreams- 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
- Site / Landing page : Nginx Control
- Documentation : Documentation Nginx Control
- Code source : Github
✨ 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.dsitessnippetsstreams- 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.