Cloud Native 5 min read

Deploy Nginx Proxy Manager with Docker: Step‑by‑Step Guide & Advanced Config

This guide walks you through setting up Nginx Proxy Manager using Docker and Docker‑Compose, covering quick installation, essential features, custom Docker networking, health‑check configuration, and advanced options, all illustrated with code snippets and screenshots.

Architect's Guide
Architect's Guide
Architect's Guide
Deploy Nginx Proxy Manager with Docker: Step‑by‑Step Guide & Advanced Config

Project Goal

Provide a simple way for users to create reverse‑proxy hosts with SSL termination via a web UI, keeping the setup as low‑friction as possible.

Features

Beautiful, secure management UI built with Tabler.

Create forwarding domains, redirects, streams and 404 hosts without knowing Nginx.

Free Let’s Encrypt SSL or custom certificates.

Access list and basic HTTP authentication for hosts.

Advanced Nginx configuration for super‑users.

User management, permissions and audit logs.

Quick Setup

Install Docker and Docker‑Compose.

Create a docker-compose.yml similar to the following:

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Start the stack:

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

Access the UI at http://127.0.0.1:81 with the default credentials:

Email: [email protected]
Password: changeme

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

Advanced Configuration

Using a Docker network

Create a custom network to keep upstream services isolated:

docker network create scoobydoo

Add the network to docker-compose.yml:

networks:
  default:
    external: true
    name: scoobydoo

Example with Portainer shows how the network can be referenced.

Docker healthcheck

Add a healthcheck to the service if desired:

healthcheck:
  test: ["CMD", "/bin/check-health"]
  interval: 10s
  timeout: 3s
https://github.com/NginxProxyManager/nginx-proxy-manager
Screenshot
Screenshot
Screenshot
Screenshot
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DockerContainer NetworkingDocker ComposeProxy Manager
Architect's Guide
Written by

Architect's Guide

Dedicated to sharing programmer-architect skills—Java backend, system, microservice, and distributed architectures—to help you become a senior architect.

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.