Skip to content

NAS / 家用网络部署

把 LogVar 弹幕 API 跑在家里的 NAS、软路由、小主机或长期在线电脑上。建议先在局域网里跑通,再折腾外网访问。

先选你的访问方式

根据你的使用场景,选一条路线:

使用场景推荐方案难度
只在家里用,电视/手机和 NAS 同局域网局域网直连⭐ 最简单
出门也要用,宽带有公网 IPv4DDNS + 路由器端口转发⭐⭐ 中等
没有公网 IPv4,但有 IPv6IPv6 + DDNS⭐⭐ 中等
没有公网 IP,或不想开路由器端口Cloudflare Tunnel⭐⭐⭐ 稍复杂

新手建议

第一次部署先按「只在家里用」跑通。局域网能打开了,再考虑外网访问。一步一步来,不容易出错。

准备工作

部署前先准备好这些:

  1. 一台能运行 Docker 的设备:NAS、软路由、小主机、长期开机的电脑都可以。
  2. 设备的内网 IP:例如 192.168.1.20,后面访问和配置都要用。
  3. 两个令牌(后面配置时填):
    • TOKEN:播放器访问令牌,播放器里填这个。
    • ADMIN_TOKEN:系统配置令牌,用来进管理后台,不要给别人。
  4. 能创建文件夹和编辑文件:NAS 自带的文件管理器就行。

推荐的目录结构

先在 NAS 里创建这样的目录结构,后面挂载用:

text
danmu-api
├── docker-compose.yml   # 部署配置文件
├── config/              # 配置文件目录,.env 会生成在这里
└── cache/               # 缓存目录(可选,也可以用 .cache)

目录名用英文

目录名尽量用英文和短横线,比如 danmu-apiconfigcache。不要用中文、空格或特殊符号,后面复制路径、写配置时不容易出错。

在 NAS 上部署

下面按你的 NAS 品牌选对应的教程。每个平台的步骤都配了截图,跟着点就行。

飞牛 fnOS 推荐走 Docker 管理 → 创建 Compose 项目 这条路线,界面友好,新手也能搞定。

第 1 步:创建项目文件夹

打开 文件管理,找一个非系统盘的位置,创建项目文件夹:

  1. 进入你想放项目的目录(比如 docker 文件夹)
  2. 右键 → 新建文件夹 → 命名为 danmu-api
  3. 进入 danmu-api,再创建两个子文件夹:configcache

飞牛文件管理里创建 Docker 项目文件夹示例

第 2 步:检查 Docker 镜像源(可选但推荐)

如果镜像拉取很慢,先换个国内镜像源:

  1. 打开 Docker 管理
  2. 找到 镜像仓库 / 仓库设置
  3. 添加或切换到国内镜像源(比如阿里云、网易云)

飞牛 Docker 镜像仓库设置示例

第 3 步:创建 Compose 项目

  1. 回到 Docker 管理 主界面
  2. 点击 创建项目(或类似的「新建项目」「Compose 项目」按钮)
  3. 项目名称填:danmu-api
  4. 项目路径选择刚才创建的 danmu-api 文件夹(注意是选外层的 danmu-api,不是里面的 config

飞牛 Docker 创建项目示例

  1. 在 Compose 编辑框里,粘贴下面的内容:
yaml
services:
  danmu-api:
    image: logvar/danmu-api:latest
    container_name: danmu-api
    user: "0:0"
    ports:
      - "9321:9321"
    volumes:
      - ./config:/app/config
      - ./cache:/app/.cache
    restart: unless-stopped

路径不对怎么办?

如果飞牛不支持 ./config 这种相对路径,就改成完整路径。

在文件管理里右键 config 文件夹 → 复制路径,然后粘贴到 Compose 里冒号左边。

在 NAS 文件管理中复制文件夹原始路径示例

例如:

yaml
volumes:
  - /mnt/sda1/docker/danmu-api/config:/app/config
  - /mnt/sda1/docker/danmu-api/cache:/app/.cache
  1. 点击 确定 / 创建 / 部署(不同版本按钮名可能略有不同)

第 4 步:等待启动

等待镜像拉取和项目启动。看到:

  • 项目状态变成 运行中 / 绿色
  • 容器列表里有 danmu-api,状态是运行中

就说明启动成功了。

飞牛 Docker 项目运行成功示例

第 5 步:跳到「配置 .env」继续

容器启动成功后,继续往下看 配置 .env 那一节。

群晖 DSM 7.2 及以上,Docker 改名叫 Container Manager。用 项目 / Project 功能来部署最方便。

第 1 步:创建项目目录

打开 File Station(文件管理器):

  1. 进入 docker 共享文件夹(没有就先创建一个)
  2. 新建文件夹,命名为 danmu-api
  3. 进入 danmu-api,再新建两个子文件夹:configcache

第 2 步:打开 Container Manager

  1. 打开 套件中心,搜索并安装 Container Manager(如果还没装的话)
  2. 打开 Container Manager
  3. 左侧菜单点击 项目 / Project

群晖 Container Manager 项目列表

第 3 步:创建项目

  1. 点击右上角 新增 / Create
  2. 项目名称 填:danmu-api
  3. 路径 选择刚才创建的 docker/danmu-api 文件夹
  4. 来源 选择 创建 docker-compose.yml
  5. 在下面的编辑框里,粘贴这段内容:
yaml
services:
  danmu-api:
    image: logvar/danmu-api:latest
    container_name: danmu-api
    user: "0:0"
    ports:
      - "9321:9321"
    volumes:
      - ./config:/app/config
      - ./cache:/app/.cache
    restart: unless-stopped

群晖 Container Manager 创建项目界面

  1. 点击 下一步 / Next
  2. 确认信息无误后,点击 完成 / Done

第 4 步:等待启动

项目会自动拉取镜像并启动。等状态变成 运行中,容器列表里出现 danmu-api,就成功了。

老版本 DSM 没有 Project 功能?

如果你的 DSM 版本比较老,没有图形化 Compose 项目入口,可以:

  • 安装 PortainerDockge 这类 Docker 管理面板,再用它们创建 Compose
  • 或者参考 Docker 部署指南 的命令行版本,通过 SSH 部署

第 5 步:跳到「配置 .env」继续

容器启动成功后,继续往下看 配置 .env 那一节。

威联通 QNAPContainer Station 来部署。Compose 项目通常在 应用程序 里创建。

第 1 步:创建项目目录

打开 File Station(文件管理器):

  1. 找个合适的位置,创建项目文件夹,比如 Container/danmu-api
  2. 在里面再创建两个子文件夹:configcache

目录结构大概是这样:

威联通项目目录结构示例

第 2 步:准备 docker-compose.yml

有两种方式:

方式 A:上传文件(推荐)

  1. 在电脑上新建一个文本文件,命名为 docker-compose.yml
  2. 把下面的内容复制进去保存:
yaml
services:
  danmu-api:
    image: logvar/danmu-api:latest
    container_name: danmu-api
    user: "0:0"
    ports:
      - "9321:9321"
    volumes:
      - ./config:/app/config
      - ./cache:/app/.cache
    restart: unless-stopped
  1. 把这个文件上传到 NAS 的 danmu-api 目录里

方式 B:在 NAS 里直接创建

在 File Station 里右键 → 新建文本文件,命名为 docker-compose.yml,然后编辑粘贴内容。

第 3 步:在 Container Station 里创建应用

  1. 打开 Container Station
  2. 左侧点击 应用程序 / Applications
  3. 点击 创建 / 安装应用
  4. 选择 上传 docker-compose.yml(或类似选项)
  5. 选择刚才的 docker-compose.yml 文件

威联通上传 docker-compose.yml 示例

  1. 应用名称填:danmu-api
  2. 点击 创建 / 安装

第 4 步:等待容器运行

等待应用创建完成。回到容器列表,看到 danmu-api 容器状态是 运行中 就可以了。

威联通容器运行成功示例

第 5 步:跳到「配置 .env」继续

容器启动成功后,继续往下看 配置 .env 那一节。

绿联 NAS(UGOS 系统) 的 Docker 界面设计得很直观,新手也容易上手。

第 1 步:安装 Docker(如果还没装)

  1. 打开 应用中心
  2. 搜索 Docker
  3. 找到 Docker 应用,点击 安装

绿联应用中心安装 Docker

第 2 步:创建项目文件夹

打开 文件管理器

  1. 找个合适的位置,创建 danmu-api 文件夹
  2. 在里面再创建 configcache 两个子文件夹

第 3 步:打开 Docker 管理

  1. 打开 Docker 应用
  2. 左侧点击 项目(如果有的话)或 容器

绿联 Docker 容器列表

第 4 步:创建 Compose 项目

绿联 Docker 支持 Compose 项目:

  1. 点击 项目创建项目(或「新增项目」)
  2. 项目名称填:danmu-api
  3. 路径选择刚才创建的 danmu-api 文件夹
  4. 选择 编辑 Compose(或「输入 Compose 内容」)
  5. 粘贴下面的内容:
yaml
services:
  danmu-api:
    image: logvar/danmu-api:latest
    container_name: danmu-api
    user: "0:0"
    ports:
      - "9321:9321"
    volumes:
      - ./config:/app/config
      - ./cache:/app/.cache
    restart: unless-stopped
  1. 点击 确定 / 创建

没有 Compose 项目功能?

如果你的绿联系统版本比较老,没有 Compose 功能,可以:

  • 先搜索镜像 logvar/danmu-api:latest,下载后手动创建容器
  • 或者安装 PortainerDockge 来管理 Compose

手动创建容器时,参数对应关系:

  • 镜像:logvar/danmu-api:latest
  • 容器名:danmu-api
  • 端口映射:主机 9321 → 容器 9321
  • 文件夹挂载:danmu-api/config/app/config
  • 文件夹挂载:danmu-api/cache/app/.cache
  • 重启策略:除非手动停止,否则自动重启

第 5 步:等待启动

看到容器状态变成 运行中,就说明启动成功了。

第 6 步:跳到「配置 .env」继续

容器启动成功后,继续往下看 配置 .env 那一节。

极空间 NAS(ZOS 系统) 的 Docker 管理器功能很强大,原生支持 Compose 图形化部署。

第 1 步:打开 Docker

  1. 在极空间桌面找到 Docker 应用并打开
  2. 第一次使用会提示初始化,按提示确认即可

第 2 步:创建项目文件夹

打开 文件管理

  1. 进入 Docker 目录(没有就创建一个)
  2. 新建文件夹,命名为 danmu-api
  3. 进入 danmu-api,再新建 configcache 两个子文件夹

第 3 步:创建 Compose 项目

  1. 回到 Docker 应用,左侧点击 Compose
  2. 点击右上角 新增项目

极空间 Docker Compose 项目列表

  1. 项目名称 填:danmu-api
  2. 添加方式 选择 直接编辑(或「输入 Compose」)
  3. 在编辑框里粘贴下面的内容:
yaml
services:
  danmu-api:
    image: logvar/danmu-api:latest
    container_name: danmu-api
    user: "0:0"
    ports:
      - "9321:9321"
    volumes:
      - ./config:/app/config
      - ./cache:/app/.cache
    restart: unless-stopped

极空间 Docker 创建项目界面

  1. 勾选 创建项目后立即启动(如果有这个选项)
  2. 点击 创建

第 4 步:等待启动

项目会自动拉取镜像并启动。等状态变成 运行中,容器数量显示 1/1,就成功了。

第 5 步:跳到「配置 .env」继续

容器启动成功后,继续往下看 配置 .env 那一节。

Unraid 用户有两种部署方式,选你习惯的就行。

方式 A:用 Docker Compose Manager(推荐)

如果你已经装了 Docker Compose Manager 插件:

  1. 进入 Docker 页面
  2. 找到 ComposeCompose Manager 区域
  3. 点击 Add new stack / 新建堆栈
  4. 堆栈名称填:danmu-api
  5. 在 Compose 编辑框里粘贴:
yaml
services:
  danmu-api:
    image: logvar/danmu-api:latest
    container_name: danmu-api
    user: "0:0"
    ports:
      - "9321:9321"
    volumes:
      - /mnt/user/appdata/danmu-api/config:/app/config
      - /mnt/user/appdata/danmu-api/cache:/app/.cache
    restart: unless-stopped
  1. 点击 Deploy Stack / 部署堆栈

方式 B:手动添加容器(不用 Compose)

如果你习惯用 Unraid 的表单方式添加容器:

  1. 顶部菜单点击 DOCKER
  2. 点击页面下方的 添加容器 / Add Container

Unraid Docker 添加容器入口

  1. 按下面的参数填写:

    配置项填什么
    Repository / 仓库logvar/danmu-api:latest
    Name / 容器名danmu-api
    Network / 网络bridge
    Port / 端口映射主机 9321 → 容器 9321,协议 TCP
    Path / 路径映射 1主机 /mnt/user/appdata/danmu-api/config → 容器 /app/config
    Path / 路径映射 2主机 /mnt/user/appdata/danmu-api/cache → 容器 /app/.cache
    Restart Policy / 重启策略Unless-stopped(除非手动停止,否则自动重启)
    Extra Parameters / 额外参数(可选)--user 0:0(避免权限问题)
  2. 点击 Apply / 应用

等待启动

容器创建完成后,在 Docker 页面看到 danmu-api 状态是 Started / 已启动,就成功了。

跳到「配置 .env」继续

容器启动成功后,继续往下看 配置 .env 那一节。

配置 .env

容器第一次启动后,会自动在 config 目录里生成 .env 配置文件。我们需要修改里面的两个令牌。

第 1 步:找到 .env 文件

打开 NAS 的文件管理器,进入你创建的 danmu-api/config 目录,找到 .env 文件。

看不到 .env 文件?

有些 NAS 的文件管理器默认隐藏点开头的文件。找一下「显示隐藏文件」的选项,或者直接用搜索功能搜 .env

如果还是没有,通常是挂载目录写错了,或者没有写入权限。先确认:

  1. Compose 里的 volumes 路径对不对
  2. config 是文件夹,不是文件
  3. 还是不行的话,在 Compose 里加上 user: "0:0"(前面的教程里已经加了),然后重新部署

第 2 步:编辑 .env

用文本编辑器打开 .env,至少修改这两项:

text
TOKEN=你的播放器访问令牌
ADMIN_TOKEN=你的系统配置令牌
  • TOKEN:普通访问令牌,播放器里填这个。可以先设成简单的,比如 87654321,跑通后再改复杂。
  • ADMIN_TOKEN:管理员令牌,用来进系统配置页面。不要和 TOKEN 一样,也不要发给别人。

注意

  • 如果 ADMIN_TOKEN 那一行前面有 # 号,先把 # 删掉,否则这行不生效。
  • 等号两边不要有空格。

第 3 步:重启容器

保存 .env 后,回到 Docker 管理界面,找到 danmu-api 容器,点击 重启

支持热更新吗?

大部分情况下修改 .env 后需要重启容器才能生效。保险起见还是重启一下。

局域网自检

配置完后,先在局域网里测试一下能不能打开。

第 1 步:确认 NAS 内网 IP

先确认 NAS 的内网 IP 地址。常见格式是:

  • 192.168.x.x(最常见)
  • 10.x.x.x
  • 172.16.x.x

在哪看:

  • NAS 控制面板 → 网络信息
  • 路由器后台 → 已连接设备列表
  • NAS 桌面右上角的系统信息

第 2 步:浏览器打开测试

在家里的电脑或手机浏览器(和 NAS 连同一个 WiFi)打开:

text
http://NAS内网IP:9321/你的TOKEN

举个例子,如果 NAS IP 是 192.168.1.20,TOKEN 是 87654321,就打开:

text
http://192.168.1.20:9321/87654321

能看到 LogVar 弹幕 API 页面、配置预览和接口调试入口,就说明局域网部署成功了!🎉

打不开怎么办?

按顺序检查:

  1. 容器是不是运行中?
  2. Compose 里有没有 "9321:9321" 端口映射?
  3. NAS 防火墙有没有拦截 9321 端口?
  4. 访问地址里的 TOKEN 对不对?
  5. 手机/电脑和 NAS 在同一个局域网吗?

只在家里用?到这里就够了

如果播放器、电视盒子、手机都只在家里用,到这里就部署完成了

建议再做两件小事:

  1. 给 NAS 固定内网 IP:在路由器里设置 DHCP 静态租约(地址保留),避免 NAS 重启后 IP 变了,播放器里的地址也要跟着改。
  2. 把地址填到播放器里:继续看 播放器接入

出门也要访问?选外网方案

重要提醒

先跑通局域网,再折腾外网。 局域网都打不开的话,DDNS、端口转发、Cloudflare Tunnel 都不会解决问题。

根据你的网络条件,选一个方案:

适合:家里宽带有公网 IPv4,愿意进路由器后台设置。

速度通常是三个方案里最好的。

第 1 步:确认你有公网 IPv4

  1. 打开路由器后台,找到 WAN IP / 互联网 IP / 外网 IP
  2. 用浏览器搜索「我的 IP」,看搜索结果显示的 IP
  3. 对比两个 IP

两个 IP 一样 → 有公网 IPv4

不一样 → 没有公网 IPv4 ❌,试试 IPv6 或 Cloudflare Tunnel

快速判断

如果路由器 WAN IP 是下面这些开头,肯定不是公网 IPv4:

text
10.x.x.x
100.64.x.x ~ 100.127.x.x  (运营商级 NAT)
172.16.x.x ~ 172.31.x.x
192.168.x.x

第 2 步:给 NAS 固定内网 IP

在路由器后台找到 DHCP 静态租约 / 地址保留 / 固定 IP

  1. 找到 NAS 设备
  2. 给它分配一个固定的内网 IP,比如 192.168.1.20
  3. 保存设置

这样 NAS 重启后 IP 也不会变。

第 3 步:设置端口转发

在路由器后台找到 端口转发 / 虚拟服务器 / NAT 转发 / 端口映射(不同品牌名字不一样)。

小米路由器 一般在:高级设置 → 端口转发 → 添加规则

小米路由器端口转发入口

华为路由器 一般在:更多功能 → 安全设置 → NAT 服务 → 端口映射

华为路由器 NAT 服务入口

新建一条规则,按下面填:

配置项填什么
外部端口 / 外网端口9321
内部 IP / 内网 IPNAS 的内网 IP,例如 192.168.1.20
内部端口 / 内网端口9321
协议TCP(或选「全部」也行)

小米路由器填写示例:

小米路由器端口转发规则填写

华为路由器填写示例:

华为路由器端口映射规则填写

填好后保存。

第 4 步:用手机流量测试

把手机 WiFi 关掉,用流量打开:

text
http://你的公网IP:9321/你的TOKEN

能打开页面 → 端口转发成功!

打不开?

  • 检查端口转发规则对不对
  • 检查 NAS 防火墙有没有拦截
  • 有些运营商会封 80、443、8080 等端口,但 9321 一般不会封
  • 可以换个外部端口试试,比如 19321

第 5 步:配置 DDNS

家庭宽带的公网 IP 可能会变(比如路由器重启后),所以需要 DDNS 把变化的 IP 绑定到一个固定域名上。

常见方案:

  1. 路由器自带 DDNS:最简单,在路由器后台找 DDNS 设置,按提示注册和配置。

    小米路由器 DDNS 配置界面

  2. NAS 自带 DDNS:群晖、威联通等都有自带的 DDNS 服务,在 NAS 控制面板里找。

  3. Docker 部署 ddns-go:功能强大,支持阿里云、腾讯云、Cloudflare 等多家 DNS。

    ddns-go 配置界面

  4. Lucky:集 DDNS、反向代理、自动证书于一体的工具,推荐折腾党使用。

配置好 DDNS 后,你的访问地址就变成:

text
http://你的DDNS域名:9321/你的TOKEN

第 6 步:建议加 HTTPS(可选但推荐)

直接用 IP + 端口长期公开访问不太安全。建议加个反向代理和 HTTPS,常用工具:

  • Nginx Proxy Manager:图形界面,新手友好
  • Lucky:功能全,国人开发,文档中文
  • Caddy:配置简单,自动 HTTPS

具体可以参考 反向代理与 HTTPS 一节。

适合:没有公网 IPv4,但家里和访问端都有 IPv6。

不用端口转发,每个设备都能有自己的公网 IPv6 地址。

第 1 步:确认你有 IPv6

  1. 打开 test-ipv6.com 测试
  2. 或者在 NAS 网络信息里看有没有 IPv6 地址(通常是 2xxx: 开头的一长串)
  3. 路由器后台的 IPv6 状态里也能看到

第 2 步:开启 IPv6

如果还没开 IPv6,在路由器后台开启:

  1. 找到 IPv6 设置(一般在「网络设置」「高级设置」里)
  2. 开启 IPv6 开关
  3. 上网方式一般选 自动获取 / Native / DHCPv6
  4. 保存,等待路由器获取 IPv6 地址

路由器 IPv6 配置界面

光猫也要开 IPv6

如果光猫是路由模式,光猫里也要开 IPv6。不确定的话可以打运营商客服电话,让他们帮你开 IPv6。

第 3 步:确认 NAS 拿到了公网 IPv6

在 NAS 的网络信息里查看 IPv6 地址。如果是 2xxx: 开头的全球单播地址,就对了。

注意

fe80: 开头的是链路本地地址,不是公网 IPv6,不能用来外网访问。

第 4 步:放行防火墙

在路由器或 NAS 防火墙里,允许外部访问 9321 端口的 TCP 连接。

(IPv6 没有 NAT,所以不需要端口转发,但需要防火墙放行。)

第 5 步:配置 DDNS

IPv6 地址也可能变化,所以建议配置 DDNS。

  • 支持 IPv6 的 DDNS 服务:阿里云 DNS、腾讯云 DNSPod、Cloudflare、ddns-go 等
  • 给你的域名添加 AAAA 记录(IPv6 用 AAAA,IPv4 用 A)

第 6 步:测试访问

用支持 IPv6 的网络(比如手机流量,现在大部分都支持)打开:

text
http://你的域名:9321/你的TOKEN

如果直接用 IPv6 地址访问,格式要加方括号:

text
http://[你的IPv6地址]:9321/你的TOKEN

IPv6 不是所有地方都能用

有些公司网络、酒店 Wi-Fi、部分老的手机网络没有 IPv6。家里有 IPv6 不代表你在外面一定能访问。

如果希望任何网络都能打开,Cloudflare Tunnel 通常更省心。

适合:没有公网 IP、不想改路由器端口,或者希望直接用 HTTPS 域名访问。

优点:不需要公网 IP、不需要路由器端口转发、自动有 HTTPS。

缺点:国内访问速度可能一般,不适合追求极限速度的场景。

准备工作

你需要:

  1. 一个自己的域名
  2. 域名已经托管到 Cloudflare(如果还没,先把域名 NS 改成 Cloudflare 的)
  3. NAS 能运行 Docker 容器

第 1 步:在 Cloudflare 创建 Tunnel

  1. 登录 Cloudflare 后台
  2. 进入 Zero Trust(左侧菜单里找,或者搜索)
  3. 左侧点击 Networks → Tunnels
  4. 点击 Create a tunnel / 创建隧道
  5. 选择 Cloudflared 作为连接器类型
  6. 给隧道起个名字,比如 home-nas
  7. 点击 Save tunnel
  8. 接下来会看到安装命令,重点是复制里面的 token(一长串字符)

Cloudflare Tunnel 复制 cloudflared 启动命令

只复制 token 就行

命令很长,你只需要把 --token 后面那一大串字符复制下来,后面在 NAS 里用。

第 2 步:在 NAS 上运行 cloudflared

回到 NAS 的 Docker 管理界面:

  1. 搜索镜像:cloudflare/cloudflared:latest
  2. 下载镜像
  3. 创建容器

创建容器时的关键配置:

  • 容器名cloudflared(随便起,能认出来就行)
  • 自动重启:开启
  • 网络模式:优先用 Host 模式(如果有的话),不行就用默认的 Bridge
  • 命令 / Command:填下面这个(把「你复制的token」换成你刚才复制的那串):
    text
    tunnel --no-autoupdate run --token 你复制的token

群晖 Container Manager 里的配置示例:

NAS 上创建 cloudflared 容器

创建并启动容器。

第 3 步:确认隧道已连接

回到 Cloudflare 的 Tunnels 页面,如果隧道状态变成 Healthy / 健康,说明 NAS 已经连上 Cloudflare 了。

第 4 步:添加 Public Hostname

在隧道详情页,点击 Public Hostname / 公共主机名Add a public hostname / 添加公共主机名

  • Subdomain / 子域名:填你想用的前缀,比如 danmu
  • Domain / 域名:选你的域名
  • Type / 类型HTTP
  • URL / 地址NAS内网IP:9321,比如 192.168.1.20:9321
    • 如果 cloudflared 和 danmu-api 在同一台 NAS 上,并且用了 Host 网络,也可以填 localhost:9321

Cloudflare Tunnel Public Hostname 配置

点击 Save hostname 保存。

第 5 步:测试访问

等一两分钟(DNS 生效需要一点时间),然后打开:

text
https://danmu.你的域名/你的TOKEN

能打开页面就成功了!🎉

打不开?

  • 检查隧道状态是不是 Healthy
  • 检查 Public Hostname 的 URL 对不对(IP 和端口)
  • 检查 danmu-api 容器是不是在运行
  • 等几分钟再试,DNS 传播需要时间

反向代理与 HTTPS

如果你用了公网 IP + DDNS 方案,建议加个反向代理来实现 HTTPS 访问,更安全也更方便。

推荐两个工具:

Nginx Proxy Manager(简称 NPM) 有图形界面,不用写配置文件,新手友好。

部署方式

用 Docker 部署,Compose 示例:

yaml
services:
  npm:
    image: jc21/nginx-proxy-manager:latest
    container_name: npm
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    volumes:
      - ./npm/data:/data
      - ./npm/letsencrypt:/etc/letsencrypt
    restart: unless-stopped

配置反向代理

  1. 打开 NPM 管理面板(http://NAS_IP:81
  2. 默认账号:admin@example.com,密码:changeme(第一次登录会让你改)
  3. 点击 Proxy HostsAdd Proxy Host
  4. 按下面填:
    • Domain Names:你的域名,比如 danmu.example.com
    • Schemehttp
    • Forward Hostname / IP:NAS 内网 IP,比如 192.168.1.20
    • Forward Port9321
    • 可以勾选 Block Common Exploits(拦截常见攻击)

Nginx Proxy Manager 添加代理主机

  1. 切到 SSL 标签页:
    • Request a new SSL Certificate(申请新证书)
    • 勾选 Force SSL(强制 HTTPS)
    • 填你的邮箱
    • 同意服务条款
  2. 点击 Save

等证书申请完成后,就可以用 https://你的域名 访问了,而且会自动跳 HTTPS。

Lucky 是国人开发的工具,集 DDNS、反向代理、自动证书、端口转发等功能于一体,中文界面,文档友好。

主要功能

  • ✅ DDNS:支持多家 DNS 服务商
  • ✅ 反向代理:HTTP / HTTPS
  • ✅ 自动 HTTPS 证书:Let's Encrypt 自动申请和续期
  • ✅ 端口转发:TCP / UDP
  • ✅ Web 界面:中文,好上手

部署方式

用 Docker 部署,或者直接下载二进制运行。具体可以看 Lucky 官方文档

配置反向代理

  1. 打开 Lucky 管理面板
  2. 找到 反向代理HTTP 代理
  3. 添加规则:
    • 前端地址:你的域名,比如 danmu.example.com
    • 后端地址:http://NAS内网IP:9321
    • 开启 HTTPS,自动申请证书

Lucky 反向代理配置界面

配置好后就可以用 HTTPS 域名访问了。

常见问题

NAS 内网 IP 能打开,手机流量打不开

说明局域网部署没问题,外网入口没配置好。

按你的方案检查:

  • 公网 IPv4:检查端口转发规则对不对、DDNS 解析对不对、运营商有没有封端口
  • IPv6:检查访问端支不支持 IPv6、NAS 防火墙有没有放行端口
  • Cloudflare Tunnel:检查隧道状态是不是 Healthy、Public Hostname 的 URL 对不对

容器运行了,但 9321 端口打不开

按顺序检查:

  1. Compose 里有没有 "9321:9321" 端口映射?
  2. NAS 防火墙有没有拦截 9321 端口?
  3. 容器日志有没有报错?
  4. config/.env 生成了吗?
  5. 访问地址里的 TOKEN 对不对?

config 目录里没有 .env 文件

通常是挂载目录写错了,或者没有写入权限。

处理方法:

  1. 确认 Compose 里 volumes 配置的路径对不对
  2. 如果用相对路径不生效,改成 NAS 里的完整绝对路径
  3. 确认 config 是文件夹,不是文件
  4. 删掉失败的容器后重新部署
  5. 还是不行的话,在 Compose 里加上 user: "0:0"(前面的教程里已经加了)

访问显示 Unauthorized

说明地址里的令牌不对。

  • 普通页面用 TOKENhttp://地址:9321/你的TOKEN
  • 系统配置页面用 ADMIN_TOKENhttp://地址:9321/你的ADMIN_TOKEN

两个不要搞混了。

不知道播放器里填什么地址

按你的访问方式选:

场景地址格式示例
只在家里用http://NAS内网IP:9321/你的TOKENhttp://192.168.1.20:9321/87654321
DDNS + 端口转发http://你的域名:9321/你的TOKENhttp://nas.example.com:9321/87654321
反向代理 + HTTPShttps://你的域名/你的TOKENhttps://danmu.example.com/87654321
Cloudflare Tunnelhttps://你的域名/你的TOKENhttps://danmu.example.com/87654321

填好后继续看 播放器接入

做完后继续看

本项目仅供个人学习与交流,请勿在国内媒体平台宣传。