跳到主要内容

飞牛 NAS(fnOS)部署

SurveyKing 官方 Docker 镜像支持 amd64arm64,可以在安装了 Docker 的飞牛 NAS 上运行。本文使用 Compose 同时部署 SurveyKing v1.13.0 和 MySQL 8。

1. 创建持久化目录

在文件管理器中新建共享目录,例如 docker/surveyking,并在其中创建:

surveyking/
├── config/
├── db/
├── files/
├── logs/
└── mysql/
├── conf/
└── data/

这些目录保存配置、附件和数据库。重新创建容器时也必须保留。

2. 创建 Compose 项目

在 Docker 应用的 Compose/项目功能中创建项目,把工作目录设置为刚才的 surveyking 目录。

使用 Docker Compose 部署 中的 .envdocker-compose.yml。至少修改 MySQL root 密码:

SURVEYKING_PORT=1991
MYSQL_ROOT_PASSWORD=替换为你自己的强密码

相对路径 ./config./files./mysql/data 会映射到当前项目目录。不要添加旧教程中的 sqls 挂载,也不要预先导入初始化 SQL。

3. 启动并检查

创建并启动项目后,确认 mysqlsurveyking 两个服务都处于运行状态。需要排查时,先查看 SurveyKing 容器日志;应用等待 MySQL 健康后才会启动。

4. 完成 /setup

在同一局域网的电脑上打开:

http://NAS 的局域网 IP:1991/setup

选择 MySQL 并填写:

配置项
地址mysql
端口3306
数据库名surveyking
用户名root
密码.env 中的 MYSQL_ROOT_PASSWORD

这里的数据库地址是容器服务名,不是 NAS 的 IP;端口是容器内部端口 3306

5. 局域网访问

局域网用户使用:

http://NAS 的局域网 IP:1991

如果打不开,检查 fnOS 防火墙、Docker 端口映射和 NAS 的 IP 是否变化。建议在路由器中为 NAS 固定 DHCP 地址。

不建议直接把 1991 映射到公网。需要外网访问时,优先通过 HTTPS 反向代理、VPN 或可信的内网穿透服务,并为管理员设置强密码。

6. 备份和升级

升级前先在 SurveyKing 内导出备份,再备份项目目录中的:

  • config/
  • files/
  • mysql/data/
  • .env 和 Compose 文件。

升级时拉取 surveyking/surveyking:latest 并重新创建 SurveyKing 服务,MySQL 数据目录保持不变。不要删除项目卷或持久化目录。