NPSNPS
首页
  • 安装与部署
  • 快速开始
  • 运行命令速查
  • 隧道模式
  • 使用示例
  • 使用说明
  • 配置文件
  • 增强功能
  • Docker 部署
  • 参数与安全速查
  • 使用说明
  • 增强功能
  • 配置与启动
  • 配置文件参考
  • SDK
  • 功能概览
  • 域名代理与路由
  • 平台域名与证书诊断
  • 访问控制与配额
  • 运行说明
  • 配置示例
  • API 鉴权
  • API 清单
  • 用户体系
  • FAQ
  • 升级迁移
  • 本项目更新日志
  • 上游更新日志
GitHub
首页
  • 安装与部署
  • 快速开始
  • 运行命令速查
  • 隧道模式
  • 使用示例
  • 使用说明
  • 配置文件
  • 增强功能
  • Docker 部署
  • 参数与安全速查
  • 使用说明
  • 增强功能
  • 配置与启动
  • 配置文件参考
  • SDK
  • 功能概览
  • 域名代理与路由
  • 平台域名与证书诊断
  • 访问控制与配额
  • 运行说明
  • 配置示例
  • API 鉴权
  • API 清单
  • 用户体系
  • FAQ
  • 升级迁移
  • 本项目更新日志
  • 上游更新日志
GitHub
  • 文档首页
  • 快速上手

    • 安装与部署
    • 快速开始
    • 运行命令速查
    • 完整部署参考
    • 隧道模式
    • 使用示例
  • 服务端

    • 服务端使用
    • 配置文件参考
    • 服务端增强功能
    • 服务端介绍
    • 部署安全与参数速查
    • Docker 部署
    • 宝塔面板部署
  • 客户端

    • 客户端使用
    • 客户端增强功能
    • NPC SDK
    • 客户端配置与启动
    • 配置文件参考
    • NPC GUI 客户端
  • 扩展功能

    • 功能概览
    • 域名代理与路由
    • 平台域名与证书诊断
    • 访问控制与配额
    • 运行说明
    • Web API 鉴权
    • Web API 清单
    • 使用示例
  • 项目与社区

    • 用户体系
    • 系统架构
    • 升级迁移
    • 构建发布
    • 本项目更新日志
    • 上游更新日志
    • FAQ
    • 贡献
    • 交流
    • 捐助
    • 致谢

Docker 部署

推荐用 Docker Compose 部署 NPS 服务端,并把容器内 /conf 挂载到宿主机。这个目录保存配置和 JSON 数据,升级、重建容器都要保留。

NPS 服务端

mkdir -p /opt/nps/conf
cd /opt/nps

创建 docker-compose.yml:

version: '3.8'
services:
  nps:
    image: wushuo98/nps:latest
    container_name: nps
    restart: unless-stopped
    environment:
      NPS_WEB_IP: 0.0.0.0
    ports:
      - "80:80"
      - "443:443"
      - "8024:8024"
      - "8025:8025"
      - "127.0.0.1:8081:8081"
    volumes:
      - ./conf:/conf

启动:

docker compose up -d
docker logs nps --tail=50

首次启动会在日志中输出管理员账号 admin 和随机管理员密码。容器内面板通过 NPS_WEB_IP 绑定,宿主机仅回环发布;请在宿主机本地访问或通过 HTTPS 反向代理转发:

http://127.0.0.1:8081

注意:源码默认 web_ip = 127.0.0.1、web_port = 8081。Docker 示例通过 NPS_WEB_IP=0.0.0.0 让容器内的反向代理可达,但仍只把宿主机端口发布到回环地址。如果你把 web_port 改成 8080,Compose 也要改成 "127.0.0.1:8080:8080"。

NPC 客户端

NPC 也可以用 Docker 运行。镜像入口就是 npc,启动参数和物理机二进制一致。本项目保留了上游 Dockerfile.npc 的用法,并用于发布 wushuo98/npc 镜像。

普通 Bridge:

docker run -d --name npc wushuo98/npc \
  -server=<服务器IP>:8024 -vkey=<VerifyKey>

TLS Bridge:

docker run -d --name npc wushuo98/npc \
  -server=<服务器IP>:8025 -vkey=<VerifyKey> -tls_enable=true

如果内网服务在宿主机上,容器里的 127.0.0.1 不是宿主机。Linux 可按需使用 --network host;Windows/macOS Docker Desktop 需要使用 Docker 提供的宿主机访问地址。

只开放必要端口

如果只使用 Web 面板和 TCP 隧道,不需要映射 80/443:

ports:
  - "8081:8081"
  - "8024:8024"
  - "9001:9001"

如果使用域名代理,需要映射 http_proxy_port 和 https_proxy_port,默认是 80 和 443。

如果使用 TLS Bridge,需要映射 tls_bridge_port,默认是 8025。

配置和数据

容器内 /conf 包含:

  • nps.conf
  • clients.json
  • users.json
  • tasks.json
  • hosts.json
  • global.json
  • TLS 证书等配置文件

升级前建议备份挂载目录:

cp -a /opt/nps/conf /opt/nps/conf.bak.$(date +%Y%m%d%H%M%S)

更新镜像

cd /opt/nps
docker compose pull
docker compose up -d

镜像平台

Docker Hub:

  • 服务端:wushuo98/nps
  • 客户端:wushuo98/npc

当前 Docker CI 构建的平台:

  • linux/amd64
  • linux/arm/v7
  • linux/arm64

这里只构建 Linux 容器镜像。Windows、macOS、FreeBSD 等平台使用 Release 中的二进制包。

在 GitHub 上编辑此页
最后更新: 2026/9/1 07:49
Prev
部署安全与参数速查
Next
宝塔面板部署