该项目以预构建的 Docker 镜像形式提供,让你可以轻松转发到家中或其他环境中运行的网站,包括免费 SSL,无需对 Nginx 或 Letsencrypt 了解过多。

创建网络

创建自定义桥接网络,让容器实现通过容器名互相通信;并且添加父接口,实现容器访问宿主机。

输入命令ifconfig查找宿主机网卡名称

# 创建绑定到宿主机 eth1 网卡的自定义桥接网络
docker network create \
  --driver bridge \          # 桥接驱动(默认)
  --opt parent=eth1 \        # 指定父接口为宿主机的 eth1(根据实际网卡名修改)
  --subnet 172.21.0.0/16 \   # 自定义子网(可选,建议指定避免冲突)
  --gateway 172.21.0.1 \     # 自定义网关(可选)
  my_bridge_with_parent      # 自定义网络名称(根据自己需要修改,如npm)

docker compose

创建一个类似这样的docker-compose.yml文件

汉化版

###########################################################################
# Docker Compose 配置 - Nginx Proxy Manager(汉化版)
# 核心功能:可视化管理反向代理、SSL证书自动续签、域名转发
# 适配环境:通用 Linux Docker / 群晖 Docker
###########################################################################

# ===================== 基础配置 =====================
# 指定 Docker Compose 文件版本(3.x 版本兼容主流 Docker 引擎)
version: '3'

# ===================== 服务定义 =====================
services:
  # 服务名称:npm(Nginx Proxy Manager 缩写,可自定义)
  npm:
    # 网络配置:接入提前创建的外部自定义桥接网络(带父接口)
    # 注:该网络需提前通过 docker network create my_bridge_with_parent 创建
    networks:
    # 网络名称:my_bridge_with_parent(根据自己需要修改,如npm)
      my_bridge_with_parent:

    # 镜像配置:使用汉化版 NPM 镜像(release 稳定版)
    image: 'chishin/nginx-proxy-manager-zh:release'

    # 重启策略:始终重启(容器退出/宿主机重启后自动恢复服务)
    restart: always

    # 容器名称:自定义为 npm(方便管理,如 docker stop/start npm)
    container_name: npm

    # ===================== 端口映射 =====================
    ports:
      # HTTP 端口(注释状态):宿主机9080映射容器80(外网HTTP请求转发)
      # 因使用自定义网络,暂不暴露,如需直连可取消注释
#     - '9080:80'
      # 管理后台端口(注释状态):宿主机9081映射容器81(浏览器访问管理界面)
#     - '9081:81'
      # HTTPS 端口:宿主机9443映射容器443(外网HTTPS请求转发,核心端口)
    - '9443:443'

    # ===================== 数据卷挂载 =====================
    volumes:
     # 配置目录:持久化 NPM 核心配置(反向代理规则、用户设置等)
     - ./config:/app/config
     # 数据目录:存储面板运行日志、数据库等核心数据
     - ./data:/data
     # 证书目录:存储 Let's Encrypt 自动申请/续签的 SSL 证书
     - ./letsencrypt:/etc/letsencrypt

# ===================== 网络配置 =====================
networks:
  # 网络名称:my_bridge_with_parent(根据自己需要修改,如npm)
  my_bridge_with_parent:
    # 声明为外部网络(Docker 不会自动创建,需手动提前创建)
    external: true

官方版

# 声明 Docker Compose 文件版本(建议补充,确保兼容性)
version: '3'

# 定义 Docker Compose 服务集合
services:
  # 服务名称:app(可自定义,如 nginx-proxy-manager)
  app:
    # 接入自定义网络(带父接口的桥接网络)
    networks:
    # 网络名称:my_bridge_with_parent(根据自己需要修改,如npm)
      my_bridge_with_parent:

    # 指定使用的镜像:jc21/nginx-proxy-manager 最新版本
    image: 'jc21/nginx-proxy-manager:latest'
    # 重启策略:除非手动停止,否则容器退出时自动重启(保障服务可用性)
    restart: unless-stopped
    # 环境变量配置
    environment:
      # 设置容器的时区为上海(可根据实际需求修改)
      TZ: "Asia/Shanghai"
    # 端口映射:宿主机端口:容器内端口(NPM 核心端口)
    ports:
      # 映射 80 端口(HTTP 访问端口,用于接收外网 HTTP 请求并转发)
      - '80:80'
      # 映射 81 端口(NPM 管理后台端口,用于浏览器访问管理界面)
      - '81:81'
      # 映射 443 端口(HTTPS 访问端口,用于接收外网 HTTPS 请求并转发)
      - '443:443'
    # 数据卷挂载:宿主机目录:容器内目录(持久化数据,防止容器删除后数据丢失)
    volumes:
      # 挂载 NPM 核心数据目录(存储配置、日志、数据库等)
      - ./data:/data
      # 挂载 Let's Encrypt 证书目录(存储自动申请/续签的 SSL 证书)
      - ./letsencrypt:/etc/letsencrypt

# ===================== 自定义网络配置 =====================
networks:
    # 网络名称:my_bridge_with_parent(根据自己需要修改,如npm)
  my_bridge_with_parent:
    # 声明为外部网络(需提前手动创建,Docker 不会自动生成)
    external: true

运行docker compose

docker compose up -d

登录管理员界面

当你的 Docker 容器运行时,打开浏览,把下面的127.0.0.1 替换成你机器的ip81端口替换成你之前设置的端口

http://127.0.0.1:81