Operations 7 min read

How to Install and Use Nginx Proxy Manager with Docker: A Step-by-Step Guide

This tutorial explains how to set up Nginx Proxy Manager using Docker, covering its key features, Docker‑Compose installation, login credentials, configuring a reverse proxy for a backend interface, obtaining Let’s Encrypt SSL certificates, and enabling HTTPS access.

Java Architect Essentials
Java Architect Essentials
Java Architect Essentials
How to Install and Use Nginx Proxy Manager with Docker: A Step-by-Step Guide

Today we introduce Nginx Proxy Manager, a visual management interface for Nginx that provides a clean web UI, SSL certificate handling, and advanced proxy configuration.

Features

Beautiful, secure UI built on Tabler

Create forward domains, redirects, streams, and 404 hosts without knowing Nginx

Free SSL via Let’s Encrypt or custom certificates

Access lists and basic HTTP authentication

Advanced Nginx configuration for super‑users

User management, permissions, and audit logs

Installation

1. Install Docker and Docker‑Compose

2. Create a docker-compose.yml file

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:

Account: [email protected]
Password: changeme

On first login you will be prompted to change the password.

6. Main dashboard

(Image of the dashboard omitted for brevity.)

Practical Example: Setting Up a Reverse Proxy for the Admin Interface

We bind http://a.test.com 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 , log in, click the green "Add Proxy Host" button, and fill in the Details:

Domain Names : a.test.com

Forward Hostname / IP : (see explanation below)

Forward Port : 81

Block Common Exploits : enabled

Forward Hostname / IP explanation : If the target service runs on a different host, use its reachable IP; if on the same host, use the IP obtained from ip addr show docker0 . Do not use 127.0.0.1 because the service runs inside a Docker container.

After saving, you can reach the admin UI via a.test.com (initially over HTTP).

Obtain SSL Certificate

In the Nginx Proxy Manager UI go to Access Lists → Add SSL Certificate → Let's Encrypt and request a certificate for a.test.com .

Enable HTTPS

Edit the proxy host, select the newly created certificate, and enable Force SSL to enforce HTTPS.

Summary

This tutorial covered the full process of installing Nginx Proxy Manager with Docker, logging in, configuring a reverse proxy for a backend interface, and securing it with a Let’s Encrypt certificate. For more details, refer to the official documentation.

Official documentation: https://nginxproxymanager.com/guide/
dockerproxydeploymentNginxreverse proxysslNginx Proxy Manager
Java Architect Essentials
Written by

Java Architect Essentials

Committed to sharing quality articles and tutorials to help Java programmers progress from junior to mid-level to senior architect. We curate high-quality learning resources, interview questions, videos, and projects from across the internet to help you systematically improve your Java architecture skills. Follow and reply '1024' to get Java programming resources. Learn together, grow together.

0 followers
Reader feedback

How this landed with the community

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