Nginx Proxy Manager
A web interface for Nginx that adds proxy hosts and free HTTPS certificates
Nginx Proxy Manager puts a point and click interface on top of Nginx, so you can route a domain to a container and get a Let's Encrypt certificate without writing configuration files. It is MIT licensed and runs as a single Docker container.
Best for when
- you want HTTPS in front of a few self hosted apps without learning Nginx
- you prefer a visual list of your domains and where they point
- you want certificate renewal handled for you
Watch out for
- the admin port is a high value target and must stay off the public internet
- complex routing ends up in custom Nginx snippets anyway, which the forms do not validate
- configuration lives in its database, not in files you can version in git
A reverse proxy without the config files
A reverse proxy is the front door that receives requests for app.example.com and passes them to the right service inside your network. Nginx does this very well, but its configuration syntax is a hurdle for beginners. Nginx Proxy Manager turns it into forms: domain, target host and port, tick the box for SSL, save.
It also handles certificate renewal, basic access lists, redirects and plain TCP or UDP streams. It suits people who run a handful of services and want to see their routing in one table rather than learn Nginx first. When you outgrow the forms, each host accepts custom Nginx directives.
What running it involves
It is light: one container, a small SQLite database by default, and a few hundred megabytes of RAM. Back up the data and letsencrypt folders, because they hold every host you defined and every certificate it issued.
Security needs attention. The admin interface listens on its own port and must never be reachable from the internet, so bind it to localhost or a VPN address and set a strong admin account on first login. Anything you publish through it is exposed publicly, so each proxy host is a decision about risk.