[Open Source] An Nginx management web interface providing multi-version Nginx management and configuration management
Open SourceClassification Systems
![[Open Source] An Nginx management web interface providing multi-version Nginx management and configuration management](https://yy123.ink/api/img/1782609078824-hkwe8r.jpg)
1. Project Overview
Nginx WebUI
A Nginx management Web interface based on FastAPI and Vue 3 , providing features such as multi-version Nginx management, configuration management, certificate management, file management, static package deployment, logging and auditing, and system monitoring.
2. Open Source License
Licensed under MIT
3. Screenshots

4. Feature Overview
Functional characteristics
- Nginx Management
-
✅ Online editing, testing, and reloading of Nginx configurations -
✅ Multi-version Nginx management (download, compile, and switch versions) -
✅ Configuration backup and restoration (retains multiple recent backups) - Configuration and Files
-
✅ Global configuration management (application settings, Nginx paths, etc.) -
✅ File management (upload, edit, and delete Nginx-related files) -
✅ Static package management (package and deploy static resource bundles) - Certificates and Security
-
✅ Certificate management (supports automatic certificate issuance via Certbot and manual certificate uploads) -
✅ JWT authentication and session management -
✅ User management and basic permission control - Logs and Auditing
-
✅ Online viewing of Nginx access logs and error logs -
✅ Operation audit logs (recording key operation activities) - System and Statistics
-
✅ System information and resource monitoring -
✅ Access and operation statistics - Integration and Deployment
-
✅ Git repository synchronization (after configuring credentials, push the current Nginx configuration with one click) -
✅ Docker containerized deployment and one-click packaging scripts
5. Tech Stack
Tech Stack
Backend
-
FastAPI -
SQLAlchemy (SQLite) -
Pydantic -
Certbot
Frontend
-
Vue 3 + Composition API -
Vite -
Element Plus -
Monaco Editor
Project Structure
Directory explanation
- backend/
Backend service code and configuration, including APIs for authentication, user management, Nginx management, certificates, logs, auditing, and more - frontend/
Frontend single-page application containing pages for the dashboard, Nginx management, configuration, files, certificates, Git synchronization, users, auditing, logs, static packages, system management, and more - data/
Stores all runtime-generated and downloaded data, including: persistent backend data such as databases (backend/), log files (logs/), configuration backups (backups/), Nginx multi-version runtime data (nginx/versions/), and Nginx source build directories and compilation logs (nginx/build/, nginx/build_logs/) - scripts/
One-click startup, restart, packaging, cleanup, and other utility scripts
Quick Start
Development environment
Backend Development
Or use the script (from the project root directory):
Frontend Development
Or use the script:
Docker Deployment
Build the Image
Run Containers
Or use Docker commands:
Configuration Instructions
The configuration file is located at backend/config.yaml and supports the following settings:
-
Nginx-related paths -
Application port and host -
Backup policies -
SSL certificate paths
Configuration can also be overridden using environment variables.
Git Configuration Synchronization
-
Log in to the frontend, navigate to the Git Configuration Synchronization page from the left-hand menu, and fill in the following fields: Project Name (determines the data/git/<Project Name>/ directory; the current root directory name is recommended by default), Repository URL (HTTPS is recommended), Target Branch (default: main), Username and Password (credentials are stored only in the backend database and will never be displayed) -
After saving, click "Sync Now". The system will: Organize the local repository using the specified project name (or the default value if left blank), Export the currently active nginx.conf to the data/git/<Project Name>/ directory, Automatically execute git add/commit/push to push changes to the remote repository -
The sync status (Success/Failed/No Changes) will be displayed in the card, along with the time and message of the most recent sync.
Note: The first sync will clone the repository into data/git. Make sure the container or host machine has network access to the target Git service.
Default Account
-
Username: admin -
Password: admin
Please change your password immediately after your first login!
下载地址 免费
评论