Guide to Installing and Using Nginx Proxy Manager with Docker
This tutorial introduces Nginx Proxy Manager, a visual reverse‑proxy management interface, and provides step‑by‑step instructions for installing it via Docker‑Compose, configuring domains, setting up SSL with Let’s Encrypt, and managing proxy hosts through its web UI.
Today we introduce Nginx Proxy Manager, a visual reverse‑proxy management interface built on NGINX that offers a clean web UI, automatic SSL certificates, and advanced configuration options.
Features
Beautiful, secure UI based on Tabler.
Create forwards, redirects, streams, and 404 hosts without deep Nginx knowledge.
Use free Let’s Encrypt SSL or custom certificates.
Host access lists and basic HTTP authentication.
Advanced Nginx configuration for superusers.
User management, permissions, and audit logs.
Installation
1. Install Docker and Docker‑Compose
2. Create docker-compose.yml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt3. Run
docker-compose up -d
# If using docker‑compose‑plugin
docker compose up -d4. Access the web UI
After the containers start, open http://127.0.0.1:81 to see the interface.
5. Login
Default credentials are:
Username: [email protected]
Password: changemeYou will be prompted to change the password on first login.
Practical Example: Setting Up a Reverse Proxy for the Admin Interface
Assume you want http://a.test.com to point to the admin UI running on port 81 and enable HTTPS.
Prerequisites
Nginx Proxy Manager installed.
A domain name.
The domain resolves to the server’s IP.
Reverse‑Proxy Configuration
Access the admin UI at ip:81, then click the green Add Proxy Host button and fill in the Details:
Domain Names : a.test.com Forward Hostname / IP : the host IP (use ip addr show docker0 if the service runs in a Docker container).
Forward Port : 81 Block Common Exploits : enable to protect against known attacks.
Obtain SSL Certificate
In the Nginx Proxy Manager UI go to Access Lists → Add SSL Certificate → Let’s Encrypt, enter a.test.com, and save.
Enable HTTPS
Edit the proxy host, select the newly created certificate, and check Force SSL to enforce HTTPS.
Conclusion
The tutorial covered installing Nginx Proxy Manager with Docker, configuring a reverse proxy for a custom domain, obtaining a Let’s Encrypt certificate, and enabling HTTPS, providing a complete workflow for managing web services.
IT Xianyu
We share common IT technologies (Java, Web, SQL, etc.) and practical applications of emerging software development techniques. New articles are posted daily. Follow IT Xianyu to stay ahead in tech. The IT Xianyu series is being regularly updated.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
