Setting up Nginx Proxy Manager

Nginx Proxy Manager Overview


Prerequisites: Docker installed on your server

Deploying NPM

  1. Create a directory for NPM installation, for example:
sudo -i
mkdir -p /root/data/docker_data/npm
  1. Edit the docker-compose.yml file
cd /root/data/docker_data/npm

vim docker-compose.yml

# Input installation script
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'  # Keep default, not recommended to modify left side
      - '81:81'  # Left side can be changed to an unused port on your server
      - '443:443' # Keep default, not recommended to modify left side
    volumes:
      - ./data:/data # Left side can be changed to a different path, currently stores data in the data folder under current directory
      - ./letsencrypt:/etc/letsencrypt  # Left side can be changed to a different path, currently stores data in the letsencrypt folder under current directory
  1. Install NPM
cd /root/data/docker_data/npm
docker compose up -d
  1. Access http://ip:81
Default login credentials:

Email: admin@example.com
Password: changeme

Updating Nginx Proxy Manager

cd /root/data/docker_data/npm

docker compose down

cp -r /root/data/docker_data/npm /root/data/docker_data/npm.archive #backup data

docker compose pull

docker compose up -d

docker image prune  # The prune command is used to delete unused docker objects. Removes all untagged and unused images

Uninstalling Nginx Proxy Manager

cd /root/data/docker_data/npm

docker compose down

rm -rf /root/data/docker_data/npm

Adding Reverse Proxy in Nginx Proxy Manager

Adding Reverse Proxy Step 1

Adding Reverse Proxy Step 2

Adding Reverse Proxy Step 3

Configuring HTTPS in Nginx Proxy Manager

  1. Option 1: Using Free Certificate Service

Configuring Free SSL Certificate

  1. Option 2: Upload Your Own Certificate, After uploading successfully, go to Hosts to configure, where you can see your uploaded certificate

Uploading Custom SSL Certificate

To configure HTTPS, click SSL, select the certificate and check the required configurations. No need to modify http to https in Proxy Hosts