NginxProxyManager/nginx-proxy-manager
Docker container for managing Nginx proxy hosts with a simple, powerful interface
NginxProxyManager/nginx-proxy-manager
Docker container for managing Nginx proxy hosts with a simple, powerful interface
Nginx Proxy Manager(NPM)把 Nginx 反向代理、SSL 终止与域名转发封装进预构建 Docker 镜像,并提供基于 Tabler 的 Web 管理界面。用户无需手写 Nginx 配置,即可为家中或内网运行的 Web 服务添加公网域名、自动申请 Let’s Encrypt 证书,并管理重定向、TCP/UDP 流转发与访问控制。项目定位是「低门槛的 Homelab 入口网关」,高级 Nginx 选项对进阶用户仍可选开放。
自托管 Immich、Home Assistant、NAS 面板等服务时,往往要面对「每个应用各自配 HTTPS」「路由器端口转发复杂」「证书续期麻烦」等问题。NPM 把 80/443 入口收敛到单一容器:在管理面板里填域名与内网 IP:端口,即可自动完成反向代理与证书签发,相当于为整个家庭网络提供统一的 TLS 网关。对不熟悉 Nginx 的用户,它把数小时的学习成本压缩到几分钟的表单操作。
创建 docker-compose.yml(最小可用配置):
services: app: image: 'docker.io/jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt启动:
docker compose up -d生产环境建议固定镜像标签(如 jc21/nginx-proxy-manager:2.15.1)并设置 TZ 时区;MySQL/Postgres 与 ARM 设备说明见官方 Setup 指南。
容器首次启动会生成 JWT 密钥、初始化数据库并创建默认管理员,可能需要等待数分钟(取决于主机熵池与磁盘速度)。
浏览器访问管理界面(默认端口 81):
http://127.0.0.1:81使用默认凭据登录(首次登录后系统会强制修改):
admin@example.comchangeme登录后在面板中添加 Proxy Host:填写域名、转发目标(内网 IP 与端口),开启 SSL 并选择「Request a new SSL Certificate」即可自动申请 Let’s Encrypt 证书。
http://<主机IP>:81 可正常登录,且已修改默认密码。docker compose ps 显示 app 容器状态为 running,./data 与 ./letsencrypt 目录已生成持久化文件。2.13.7 镜像标签。./data 含 SQLite 数据库与 JWT 密钥,./letsencrypt 含证书;升级或迁移前务必备份这两个卷。