NPMplus: Enhanced Nginx Proxy Manager with Advanced Features
Summary
NPMplus is an improved fork of the popular Nginx Proxy Manager, designed to offer a more robust and feature-rich solution for managing reverse proxies. It introduces significant enhancements such as HTTP/3 support, advanced security integrations, and extensive customization options. This project aims to provide users with a powerful yet user-friendly tool for secure and efficient web service exposure.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
NPMplus is a highly improved fork of the well-known nginx-proxy-manager, offering a comprehensive suite of enhancements for managing reverse proxies with ease. It builds upon the original's goal of simplifying TLS termination and host management, while introducing a wealth of new features focused on security, performance, and advanced configurability. Whether you're a seasoned administrator or just starting with self-hosting, NPMplus provides tools to secure and optimize your web services.
Installation
Getting started with NPMplus is straightforward, primarily leveraging Docker and Docker Compose for deployment. Here's a quick guide to set it up:
- Install Docker and Docker Compose: Ensure you have Docker Engine and Docker Compose installed on your system. You can find detailed instructions in the official Docker documentation.
- Docker Install documentation (opens in a new tab)
- Docker Compose Install documentation (opens in a new tab)
- Download
compose.yaml: Obtain the latestcompose.yamlfile from the NPMplus GitHub repository.- Download
compose.yaml(opens in a new tab)
- Download
- Adjust Configuration: Modify the
TZ(timezone) andACME_EMAILenvironment variables in thecompose.yamlto match your requirements. Review other environment options for further customization. - Start NPMplus: Navigate to the directory containing your
compose.yamlfile and run the following command:docker compose up -d - Access Admin UI: Once the container is running, connect to the admin interface via
https://<your-server-ip>:81. The default admin email isadmin@example.org, and the initial unique password will be logged to the NPMplus Docker logs, which you should change immediately.
Examples of Key Features
NPMplus introduces a wide array of features that significantly enhance its capabilities. Here are some notable examples:
- HTTP/3 (QUIC) Protocol Support: Leverage the latest HTTP/3 protocol for faster and more efficient web traffic, requiring you to expose HTTPS with UDP.
- CrowdSec IPS Integration: Enhance your security posture by integrating CrowdSec IPS, providing robust intrusion prevention capabilities. Configuration details are available in the README.
- Goaccess Included: Gain insights into your web traffic with Goaccess, which runs by default on
https://<ip>:91when enabled in yourcompose.yaml. - ModSecurity Support: Implement ModSecurity with the Core Rule Set for advanced web application firewall protection, though careful tuning is often required to avoid overblocking.
- Load Balancing: Configure load balancing for your backend services by editing custom Nginx configuration files, allowing for improved availability and performance.
- Enhanced TLS Security: Only enables TLSv1.2 and TLSv1.3 protocols, includes ML-KEM support, and offers OCSP Stapling/Must-Staple for stronger security.
- Automatic Database Vacuum & Cert Cleaning: For SQLite users, NPMplus automatically vacuums the database and cleans old, invalid Certbot certificates, simplifying maintenance.
Why Use NPMplus?
NPMplus stands out as a superior choice for several reasons, particularly for those seeking more control, security, and performance than the original Nginx Proxy Manager offers:
- Advanced Security Features: With support for HTTP/3, CrowdSec, ModSecurity, and modern TLS protocols (TLSv1.2/1.3, ML-KEM, OCSP Stapling), NPMplus provides a significantly more secure environment for your web applications.
- Performance Optimizations: Features like HTTP/3, faster TLS certificate creation (by reducing Nginx reloads), and Brotli compression contribute to a snappier and more responsive user experience.
- Extensive Customization: Beyond the standard UI, NPMplus offers numerous environment variables and custom Nginx configuration points, allowing expert users to fine-tune every aspect of their proxy setup, including load balancing and external authentication integrations (Anubis, Tinyauth, Authelia, Authentik).
- Improved Maintainability: Automatic database vacuuming and certificate cleaning reduce manual overhead, while a smaller Docker image based on Alpine Linux ensures efficiency.
- Community-Driven Enhancements: As an active fork, NPMplus benefits from continuous development, addressing issues and introducing features based on community needs and contributions.
Links
- GitHub Repository: https://github.com/ZoeyVid/NPMplus (opens in a new tab)
- Discussions/Support: https://github.com/ZoeyVid/NPMplus/discussions (opens in a new tab)
- Discord: https://discord.gg/y8DhYhv427 (opens in a new tab)
- Reddit: https://reddit.com/r/NPMplus (opens in a new tab)