Nginx Proxy Manager

devopssecurity

Web UI for managing Nginx reverse proxy hosts with one-click Let's Encrypt SSL, redirect rules, and access lists. No manual Nginx config required

#reverse-proxy#nginx#ssl#lets-encrypt#docker#homelab#self-hosted
Alternative to Manual Nginx configApache

Quick Start

docker compose up -d

Overview

Nginx Proxy Manager is a web-based management interface for Nginx that lets you add, configure, and SSL-enable reverse proxy hosts without writing a single line of Nginx config. Point it at your domain, add the target IP and port, enable Let’s Encrypt, and your service is live over HTTPS in about a minute.

It is the starting point for most homelab setups. When you run a collection of Docker services on a single machine and want each accessible at its own subdomain over HTTPS, Nginx Proxy Manager handles the routing and certificate management in one place. Certificates provision automatically from Let’s Encrypt and renew themselves before expiry.

Access lists let you restrict proxy hosts by IP address or require HTTP basic authentication, which is useful for adding a login screen in front of internal services that have no native auth. Redirect hosts, 404 hosts, and stream hosts round out the feature set.

The honest limitation is that it is designed for simplicity. If you need container-aware dynamic routing, complex load balancing, or config stored as code in a repository, Traefik or Caddy serve those use cases better. Nginx Proxy Manager is the right choice when you want a GUI that removes the friction of SSL setup, not an enterprise routing layer.

Use Cases

Specific ways to use Nginx Proxy Manager for your workflow.

01
Expose self-hosted services over HTTPS without writing Nginx config files
02
Provision and auto-renew Let's Encrypt certificates for all your services
03
Add access lists and basic auth in front of internal services
04
Manage redirects and custom locations from a clean web interface

Deployment Strategy

Recommended ways to host Nginx Proxy Manager in your own environment.

docker