35 lines
2.1 KiB
JSON
35 lines
2.1 KiB
JSON
{
|
|
"id": "nginx-proxy-manager",
|
|
"name": "Nginx Proxy Manager",
|
|
"description": "Web dashboard for Nginx reverse proxying: add/edit proxy hosts (domain -> service) at runtime, automatic Let's Encrypt SSL, access lists, and persistent configuration.",
|
|
"version": "1.0.0",
|
|
"category": "network",
|
|
"tags": ["reverse-proxy", "nginx", "dashboard", "lets-encrypt", "https", "proxy-manager"],
|
|
"author": "jc21 / Nginx Proxy Manager",
|
|
"license": "MIT",
|
|
"homepage": "https://nginxproxymanager.com",
|
|
"documentation": "https://nginxproxymanager.com/guide/",
|
|
"compose": {
|
|
"image": "jc21/nginx-proxy-manager:2.14.0",
|
|
"container_name": "nginx-proxy-manager",
|
|
"restart": "unless-stopped",
|
|
"ports": [
|
|
"80:80",
|
|
"443:443",
|
|
"10.0.0.5:81:81"
|
|
],
|
|
"volumes": [
|
|
"npm_data:/data",
|
|
"npm_letsencrypt:/etc/letsencrypt"
|
|
],
|
|
"networks": ["homelab"]
|
|
},
|
|
"volumes": {
|
|
"npm_data": {},
|
|
"npm_letsencrypt": {}
|
|
},
|
|
"networks": {
|
|
"homelab": { "external": true }
|
|
},
|
|
"notes": "Dashboard at http://10.0.0.5:81 (LAN only — port 81 is bound to the internal IP) — first login admin@example.com / changeme (change it immediately). Add Proxy Hosts like streaming.example.com -> multistreaming:8080 (enable Websockets) or auth.example.com -> authelia:9091; use the container/service name as the forward hostname since everything shares the homelab network. All proxy hosts, users, and certs persist in the npm_data and npm_letsencrypt volumes, so they survive restarts and updates. RTMP ingest is not HTTP, so it does NOT go through NPM: OBS connects directly to the multistreaming container's published port 1935 (rtmp://feed.streaming.example.com:1935/live/<stream-key>). SSO forward-auth for apps without OIDC: on the proxy host, add a custom location /authelia pointing to http://authelia:9091/api/authz/forward-auth with headers X-Original-URL $scheme://$http_host$request_uri, X-Forwarded-Proto $scheme, X-Forwarded-Host $http_host, X-Forwarded-Uri $request_uri, and then add `auth_request /authelia;` plus `auth_request_set $user $upstream_http_remote_user;` and `proxy_set_header Remote-User $user;` in the Advanced tab."
|
|
}
|