Open Terminal and create a dedicated folder for Nginx Proxy Manager:
mkdir ~/npm && cd ~/npm
Complete macOS Setup Guide with Free SSL
Powered by Grok AI 🤖
STEP 1 Create Project Folder
Open Terminal and create a dedicated folder for Nginx Proxy Manager:
mkdir ~/npm && cd ~/npm
STEP 2 Create docker-compose.yml
Create the configuration file:
nano docker-compose.yml
Add this content:
version: '3.8'
services:
app:
image: docker.io/jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
- '80:80' # Public HTTP
- '443:443' # Public HTTPS
- '81:81' # Admin interface
environment:
TZ: "Australia/Melbourne"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Save: Ctrl+O → Enter → Ctrl+X
STEP 3 Start Nginx Proxy Manager
Launch the container:
docker compose up -d
Wait 30-90 seconds for first-time setup (downloads ~400-500MB).
Verify it's running:
docker compose ps
STEP 4 Access Admin Interface
Open your browser and go to:
http://localhost:81
Default Login (first time):
admin@example.comchangemeYou'll be forced to change your password immediately.
STEP 5 Point Domain to Your Public IP
Find your public IP:
https://ifconfig.me
In your domain registrar DNS settings:
myservice (or @ for root)YOUR_PUBLIC_IPWait for DNS propagation (1-60 minutes).
https://dnschecker.org
STEP 6 Port Forwarding (Critical)
Log into your router (usually 192.168.1.1) and create two port forwarding rules:
| External Port | Internal IP | Internal Port | Protocol |
|---|---|---|---|
| 80 | YOUR_MAC_IP | 80 | TCP |
| 443 | YOUR_MAC_IP | 443 | TCP |
STEP 7 Add Proxy Host + SSL
In NPM Dashboard:
Details Tab:
yourdomain.comhttp192.168.1.x (local service IP)3000 (or your service port)SSL Tab:
Click Save
STEP 8 Test Your Setup
Open your browser and visit:
https://yourdomain.com
You should see:
Troubleshooting Checklist