Skip to content

Installation of Nginx Proxy Manager (latest)

Introduction

This guide explains how to install Nginx Proxy Manager (latest version) in a Docker container on a Vesta Lab VM. It provides a web-based GUI for managing reverse proxies, SSL certificates, and domain forwarding.

Prerequisites

  • A Linux VM with Docker and Docker Compose installed (e.g., dock1)
  • Open ports: 80, 81, and 443 must not be used by other services
  • Internet access for pulling the container image

Step 1 – Create working directory

mkdir -p ~/npm-docker
cd ~/npm-docker

Step 2 – Create docker-compose.yml

version: '3'

services:
  npm:
    container_name: npm
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
      - 80:80        # HTTP
      - 81:81        # Admin UI
      - 443:443      # HTTPS
    volumes:
      - npm-data:/data
      - npm-letsencrypt:/etc/letsencrypt

volumes:
  npm-data:
  npm-letsencrypt:

Step 3 – Start the container

docker-compose up -d

Step 4 – Access the Web UI

  • URL: http://<IP_of_dock1>:81
  • Default login:
  • Email: admin@example.com
  • Password: changeme

You will be prompted to set a new admin password on first login.

GUI Configuration (Optional)

Section Action Purpose
SSL Certificates Request Let's Encrypt certs Secure HTTPS for any domain
Hosts → Proxy Add a new proxy host Reverse proxy for services
Users Create limited accounts Delegate access with RBAC

Validation and Tests

docker ps
docker exec -it npm nginx -t
curl -I http://localhost

Common Issues

Problem Solution
Port 80/443 already in use Stop conflicting services like Apache/Nginx
Login fails Reset via /data/nginx/logs/error.log
SSL issues Ensure domain points to your public IP

Next Steps