Nginx Proxy Manager

Expose your services easily and securely

Get Started →

Get Connected

Expose web services on your network · Free SSL with Let's Encrypt · Designed with security in mind · Perfect for home networks

Proxy Hosts

Expose your private network Web services and get connected anywhere.

Beautiful UI

Based on Tabler, the interface is a pleasure to use. Configuring a server has never been so fun.

Free SSL

Built in Let’s Encrypt support allows you to secure your Web services at no cost to you. The certificates even renew themselves!

Docker FTW

Built as a Docker Image, Nginx Proxy Manager only requires a database.

Multiple Users

Configure other users to either view or manage their own hosts. Full access permissions are available.

# Quick Setup

  1. Install Docker and Docker-Compose
  1. Create a docker-compose.yml file similar to this:
version: '3'
    image: 'jc21/nginx-proxy-manager:latest'
      - '80:80'
      - '81:81'
      - '443:443'
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    image: 'jc21/mariadb-aria:latest'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
      - ./data/mysql:/var/lib/mysql
  1. Bring up your stack
docker-compose up -d
  1. Log in to the Admin UI

When your docker container is running, connect to it on port 81 for the admin interface. Sometimes this can take a little bit because of the entropy of keys.

Default Admin User:

Email:    admin@example.com
Password: changeme

Immediately after logging in with this default user you will be asked to modify your details and change your password.

  1. Upgrading to new versions
docker-compose pull
docker-compose up -d

This project will automatically update any databases or other requirements so you don't have to follow any crazy instructions. These steps above will pull the latest updates and recreate the docker containers.