群晖 NAS 部署
本文适用于支持“Container Manager”的群晖 DSM。SurveyKing 官方镜像同时支持 amd64 和 arm64,部署会运行 SurveyKing v1.13.0 与 MySQL 8 两个容器。
1. 安装 Container Manager
在 DSM“套件中心”安装 Container Manager。旧版 DSM 中该套件可能叫 Docker;如果设备不支持该套件,无法按本文部署。
2. 创建共享目录
在 File Station 中创建:
docker/surveyking/
├── config/
├── db/
├── files/
├── logs/
└── mysql/
├── conf/
└── data/
确保运行 Container Manager 的系统账号对这些目录拥有读写权限。
3. 创建项目
打开“Container Manager → 项目 → 新增”,项目名称填写 surveyking,路径选择 docker/surveyking。
复制 Docker Compose 部署 中的 docker-compose.yml。同时在项目目录创建 .env:
SURVEYKING_PORT=1991
MYSQL_ROOT_PASSWORD=替换为你自己的强密码
项目使用相对路径持久化配置、附件和 MySQL 数据。v1.13.0 由 /setup 初始化数据库,不需要旧教程中的 init-mysql.sql 或 sqls/ 目录。
4. 构建并启动
创建项目并等待镜像下载。项目页面中 mysql 和 surveyking 都显示运行后,再打开系统。如果 SurveyKing 反复重启,先查看 MySQL 是否健康,再查看 SurveyKing 日志。
5. 初始化系统
局域网浏览器访问:
http://群晖局域网 IP:1991/setup
MySQL 配置填写:
| 配置项 | 值 |
|---|---|
| 地址 | mysql |
| 端口 | 3306 |
| 数据库名 | surveyking |
| 用户名 | root |
| 密码 | .env 中的 MYSQL_ROOT_PASSWORD |
测试连接成功后完成初始化。应用会自动建表并重启,稍候刷新页面即可登录。
6. 访问与反向代理
局域网地址为:
http://群晖局域网 IP:1991
建议在路由器中固定群晖 IP。需要通过域名访问时,可使用 DSM 反向代理把 HTTPS 域名转发到 http://127.0.0.1:1991,并配置有效证书。
不要把 MySQL 3306 暴露到公网。除非已经做好身份验证、HTTPS 和访问控制,也不建议直接暴露 1991。
7. 备份与更新
更新前:
- 在 SurveyKing 内导出应用备份;
- 备份
config/、files/、mysql/data/、.env和 Compose 文件; - 在 Container Manager 中拉取新镜像并重新构建项目;
- 确认项目仍然使用原来的持久化目录。
删除容器不等于删除数据,但删除共享目录或项目卷会造成数据丢失。