π Nginx Proxy Manager Setup on Unraid
Nginx Proxy Manager (NPM) is a web-based reverse proxy that allows you to manage and secure access to your services with ease. It supports Let's Encrypt SSL, custom domains, access lists, and more.
β Prerequisitesβ
- Unraid 6.10 or newer
- Docker service running
- Community Applications Plugin installed
- A domain name (e.g., from Namecheap, Cloudflare, GoDaddy)
- Ports
80and443forwarded to your Unraid server (for external SSL access)
1. π¦ Install Nginx Proxy Managerβ
- Go to the Apps tab in Unraid
- Search for
nginx proxy manager - Install the one from jc21/nginx-proxy-manager
βοΈ Container Settingsβ
| Setting | Value |
|---|---|
/config | /mnt/user/appdata/npm/ |
| Ports | Set to: 80 β 8080 (or keep 80 if unused) 81 β 81 (admin UI) 443 β 4443 (or keep 443 if unused) |
| Network Type | Bridge |
If you want NPM to bind directly to ports 80/443 for public access, make sure no other service (like Unraid's built-in web UI) is using them.
Click Apply to install and start the container.
2. π Access the NPM Web UIβ
- Navigate to:
http://[UNRAID-IP]:81 - Default login:
Email: admin@example.com
Password: changeme
- You'll be prompted to reset the email and password.
3. π Configure Your Domain (DNS Setup)β
π‘οΈ Recommended: Use a subdomain per serviceβ
Example subdomains:
plex.yourdomain.comradarr.yourdomain.comnextcloud.yourdomain.com
Update DNS Recordsβ
In your domain providerβs DNS settings (or via Cloudflare):
-
Add an A Record:
Type: A
Name: @
Value: Your WAN IP (e.g., 123.45.67.89)
TTL: Auto -
Add CNAME Records (optional):
Type: CNAME
Name: plex
Target: @
π If using Cloudflare, disable proxying (orange cloud β gray) for setup. You can re-enable after SSL is issued.
4. β Add a Proxy Hostβ
- Go to Proxy Hosts in NPM UI
- Click Add Proxy Host
- Fill in:
| Field | Value |
|---|---|
| Domain Names | plex.yourdomain.com (or others) |
| Scheme | http or https |
| Forward Hostname/IP | Internal IP of container (e.g., 192.168.1.100) |
| Forward Port | App port (e.g., 32400 for Plex) |
| Block Common Exploits | β Checked |
| Websockets Support | β Checked (if app requires it) |
SSL Tab:β
- Check:
Force SSLandHTTP/2 Support - Select:
Request a new SSL certificate - Agree to Terms of Service
- Enter your email
π‘ If certificate fails, double-check DNS records and that port 80 is accessible externally.
Click Save.
5. π Secure the Admin UI (Optional but Recommended)β
-
Go to Access Lists
-
Create a new list with username/password
-
Edit your Proxy Host for NPM (port 81):
- Add the access list under Authorization
Or, expose NPMβs UI behind a subdomain (e.g., admin.yourdomain.com) and add basic auth.
6. πͺ Port Forwarding (Router Setup)β
Forward the following ports to your Unraid serverβs local IP:
| External Port | Internal Port | Protocol |
|---|---|---|
| 80 | 80 (or 8080) | TCP |
| 443 | 443 (or 4443) | TCP |
This allows Letβs Encrypt to verify your domain and issue SSL certificates.
7. π§Ό Cleanup & Next Stepsβ
- Redirect Unraid's web UI to a different port (if needed) under Settings β Management Access
- Setup other apps (Plex, Sonarr, Jellyfin, etc.) behind proxy
- Set up fail2ban or Cloudflare Proxy for security