跳到主要内容

群晖 NAS 部署

本文适用于支持“Container Manager”的群晖 DSM。SurveyKing 官方镜像同时支持 amd64arm64,部署会运行 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.sqlsqls/ 目录。

4. 构建并启动

创建项目并等待镜像下载。项目页面中 mysqlsurveyking 都显示运行后,再打开系统。如果 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. 备份与更新

更新前:

  1. 在 SurveyKing 内导出应用备份;
  2. 备份 config/files/mysql/data/.env 和 Compose 文件;
  3. 在 Container Manager 中拉取新镜像并重新构建项目;
  4. 确认项目仍然使用原来的持久化目录。

删除容器不等于删除数据,但删除共享目录或项目卷会造成数据丢失。