NginxProxyManager / NginxProxyManager/nginx-proxy-manager
nginx proxy manager + angie auto install
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 34.2k
- Forks
- 3.9k
- Avg merge
- 21h 12m
- Merged PRs (30d)
- 20
Description
Is your feature request related to a problem? Please describe.
Currently, NPM documentation doesn't include third-party installation tools that simplify deployment and configuration. Users who want to deploy NPM with Angie web server (nginx-compatible fork) or apply advanced optimizations must manually configure many components, which is time-consuming and error-prone.
Describe the solution you'd like
I would like to add my automated installation script to the NPM third-party tools documentation. The script (npm-angie-auto-install) is a comprehensive Python-based installer that automates NPM deployment with Angie web server and extensive optimizations.
Core Features
- Automated Angie deployment - Installs Angie web server (nginx-compatible, high-performance fork) with optimized configuration
- Smart Node.js management - Auto-detects available Node.js versions, installs from NodeSource if needed (supports v20-23)
- Complete NPM setup - Builds and deploys NPM from source with proper user/group configuration
- Certbot integration - Sets up Python 3.11 venv for Certbot with automatic SSL certificate management
Performance Optimizations
- Upstream keepalive connections
- Shared memory zones for load balancing and statistics
- HTTP/2 and HTTP/3 (QUIC) support with proper SSL/TLS cipher configuration
- Static asset caching with proxy_cache and revalidation
- Modern SSL/TLS settings (TLSv1.2/1.3 only, secure cipher suites)
- Angie Prometheus metrics a endpoint (port 82/8282 - ssl) with console interface ( https://en.angie.software/angie/docs/configuration/monitoring/ )
Security Enhancements
- Sudoers configuration for npm user to manage Angie without root
- Self-signed certificate generation for admin panel (HTTPS on port 8181)
- Modern SSL/TLS cipher suites only
Developer-Friendly
- Automated frontend build with Sass/node-sass/Yarn handling
- Update mode that preserves configuration while upgrading
- Backup creation before config changes (timestamped)
- MOTD integration showing service status and access URLs
- Debug mode with verbose logging
Supported Systems
- Debian 11 (Bullseye), 12 (Bookworm), 13 (Trixie)
- Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS
- Proxmox and Armbian (Debian derivatives)
- IPv6 support (optional, with `--enable-ipv6` flag)
Usage Examples
Basic installation with latest NPM and Node.js (interactive mode)
curl -fsSL https://git.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/master/npm_install.py
-o npm_install.py && sudo python3 npm_install.py
Install with dark theme and specific Node.js version
curl -fsSL https://git.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/master/npm_install.py
-o npm_install.py && sudo python3 npm_install.py --dark-mode --node-version 22
Update existing installation without reconfiguring (backup and update)
curl -fsSL https://git.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/master/npm_install.py
-o npm_install.py && sudo python3 npm_install.py --update
Install with IPv6 support
curl -fsSL https://git.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/master/npm_install.py
-o npm_install.py && sudo python3 npm_install.py --enable-ipv6
Project Repository
URL: https://git.linuxiarz.pl/gru/npm-angie-auto-install
Describe alternatives you've considered
Current alternatives include:
- Manual installation following multiple guides
- Docker deployment (doesn't allow deep system integration)
- Standard nginx instead of Angie (missing HTTP/3, modern optimizations)
- Separate configuration of Certbot, and performance/cache tuning
None of these provide the same level of automation, optimization, and integration that this script offers.
Additional context
The script has been tested extensively on Debian and Ubuntu systems with various configurations. It includes:
- Automatic conflict resolution (removes old nginx/nodejs packages)
- Systemd service management with proper dependencies
- Logrotate integration for log management
- Nginx -> Angie configuration path normalization
- Template customization for upstream keepalive and monitoring
- Perfect work with: https://grafana.com/grafana/dashboards/20719-angie-dashboard/
Ideal Use Cases
This tool is particularly useful for:
- System administrators deploying NPM in production environments
- Users who want Angie instead of nginx for better performance
- Setups requiring advanced optimizations (keepalive, HTTP/3, caching)
Technical Details
The script follows NPM's architecture and doesn't modify core application logic - it only optimizes the deployment environment and web server configuration. All changes are reversible with automatic backups created before modifications or optimizations for work with angie.
Author: linuxiarz.pl (Mateusz Gruszczyński)
I believe this tool would be valuable to the NPM community as it provides a production-ready deployment solution with modern web server technology and performance optimizations out of the box.
@jc21 please add project link to page https://nginxproxymanager.com/third-party/
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the third-party tools page mentioned in the issue, https://nginxproxymanager.com/third-party/, and review its existing project-link format. Add the npm-angie-auto-install repository link with a concise description of its Angie-based NPM installation script; the page should clearly include the project as a third-party tool.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nginx, python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 82/100