34.1k stars · MIT · v2.15.1 (2026-06-03), read from /releases/latest on 2026-09-12
A web screen for pointing domain names at programs, with free HTTPS certificates that renew on their own.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Nginx Proxy Manager is a container that runs the nginx web server together with a management screen. HTTPS is the padlock in the address bar, and the certificate that provides it comes free from Let's Encrypt. This program asks for it, installs it and renews it before it expires.What it is good for. Anyone who self-hosts more than one thing and does not want to write nginx configuration files. It removes the most common reason a self-hosted tool never gets exposed properly: the certificate step. It is also how you put a password in front of an internal page like Dozzle, and how you give Pocket ID (#4) the HTTPS it requires in order to work at all.
- Free certificates that renew themselves, set up by ticking a box.
- One screen listing every domain on the machine, so you can see what is pointing where.
- It can put a login box in front of any page you have not secured yourself.
- It expects to own ports 80 and 443. If something else is already serving your site on those ports, moving over needs a planned change, not a quick try.
- It adds a moving part in front of your site. When it is down, everything behind it is down.
- The management screen has a default password. Change it in the first minute, and never expose that screen to the internet.
mkdir -p ~/npm && cd ~/npm
cat > docker-compose.yml <<'EOF'
services:
app:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '127.0.0.1:81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
EOF
docker compose up -d