🌐 Setup Nginx Proxy Manager (NPM)

Deploy a powerful reverse proxy with a web UI and built-in Let's Encrypt SSL support on Ubuntu 22.04 or 24.04 — fully automated.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script — auto-generates DB credentials and config.
View on GitHub

Quick Install:

Tutorial Steps

1 Download & Run the Script

The script automatically installs Docker if missing, generates secure DB credentials, creates the docker-compose.yml and starts everything.

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/networking/npm/npm-ubuntu.sh
chmod +x npm-ubuntu.sh
sudo bash npm-ubuntu.sh

2 Access the Admin Panel

Open your browser and go to the NPM admin UI:

http://<your-server-ip>:81

3 Login with Default Credentials

FieldValue
Emailadmin@example.com
Passwordchangeme
⚠️ Change your credentials immediately after first login!

4 Add Your First Proxy Host

Go to Proxy Hosts → Add Proxy Host, fill in your domain name and forward it to your internal service. Enable SSL with Let's Encrypt in the SSL tab.

Ports Used

PortPurpose
80HTTP traffic
443HTTPS traffic
81Admin Web UI

Files Location

/root/docker/npm/
├── docker-compose.yml
├── config.json
├── data/
└── letsencrypt/