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.

IT Xianyu
IT Xianyu
IT Xianyu
Guide to Installing and Using Nginx Proxy Manager with Docker

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/letsencrypt

3. Run

docker-compose up -d
# If using docker‑compose‑plugin
docker compose up -d

4. 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: changeme

You 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.

DockerProxyNginxreverse proxytutorialSSLDocker Compose
IT Xianyu
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.