1部署架构
众享链 ShareChain 采用 Docker 容器化部署,容器内包含 Nginx(前端 + API 代理)和 Spring Boot 后端两个服务。
端口说明:
| 容器端口 | 宿主机端口(默认) | 用途 |
| 80 | 3000 | Web 前端 + API 代理(nginx),主要访问入口 |
| 8080 | 3001 | 后端 API 直连(可选,供浏览器插件使用) |
2前置条件
2.1 群晖环境要求
- DSM 版本:DSM 7.0 及以上
- Container Manager:已安装(套件中心搜索"Container Manager"或"Docker"安装)
- 内存:建议 2GB 以上可用内存
- 存储空间:至少 500MB 可用空间
2.2 外部依赖
MySQL 数据库
5.7 或 8.0,需可从群晖网络访问(首次部署时通过 Web 向导自动创建数据库和表结构,无需手动建库)
群晖 DSM API
容器需要访问群晖 DSM 的 API 接口(默认端口 5000)用于用户认证
2.3 网络要求
确保以下端口未被占用(端口号可自定义):
3000 - Web 访问端口
3001 - 后端直连端口(可选)
3获取镜像
方式一:从私有仓库拉取(推荐)
注册私有仓库:
- 打开 Container Manager -> 注册表 -> 新增
- 在"名称"中输入:
273644.cicp.net:5100
- 勾选"不安全的注册表"(因为是 HTTP 协议)
- 点击 下一步 -> 输入账号密码:用户名
wenhao,密码(联系管理员获取)
- 点击 完成
拉取镜像:
- 在注册表列表中搜索
273644.cicp.net:5100/wenhao/sharechain
- 选择版本
1.0.3,双击下载
- 等待下载完成,在 映像 列表中可看到
273644.cicp.net:5100/wenhao/sharechain:1.0.3
方式二:导入 tar 镜像文件
适用于无法连接私有仓库的环境。
下载镜像 tar 文件:
http://wenhaoru.com:81/d/s/19JI5ESrPOqOItQfDQzZs3rxifoXRmde/BnXGBsQh62WnAz3dGAmg0aGE2e87V5Oi-AbjADqGYZQ0
- 从开发人员处获取
sharechain.tar 文件
- 打开 File Station,将
sharechain.tar 上传到任意目录(如 docker/ 目录)
- 打开 Container Manager -> 映像 -> 导入
- 选择"从文件",浏览并选中上传的
sharechain.tar
- 点击 下一步 -> 等待导入完成
4创建并配置容器
4.1 创建容器
- Container Manager -> 容器 -> 新增
- 选择映像:
273644.cicp.net:5100/wenhao/sharechain:1.0.3(方式一)或 sharechain:latest(方式二)
- 点击 下一步
4.2 常规设置
| 设置项 | 值 |
| 容器名称 | sharechain |
| 资源限制 | 建议 CPU 不限、内存 1024MB |
| 启用自动重启 | 建议勾选 |
4.3 端口设置
添加以下端口映射:
| 本地端口 | 容器端口 | 协议 | 说明 |
| 3000 | 80 | TCP | Web 访问(必须) |
| 3001 | 8080 | TCP | 后端 API 直连(可选,浏览器插件使用) |
注意:如果 3000 端口已被群晖其他服务占用,请改用其他端口(如 9080 等)。
4.4 存储空间
添加以下存储空间映射(必须,用于持久化配置,升级时无需重新配置):
| 本地路径 | 容器路径 | 说明 |
/docker/sharechain/data | /data | 配置文件持久化 |
重要:首次安装时通过 Web 向导配置的所有信息会保存到此目录。升级镜像时只需保留此挂载,无需重新配置。
4.5 网络
使用默认的 bridge 网络模式即可。
4.6 确认并启动
5Web 初始化向导
首次部署无需手动建库建表,也无需设置任何环境变量,通过浏览器向导即可完成全部配置。
5.1 进入初始化向导
容器启动后(约等待 15-30 秒后端启动完成),浏览器打开:
系统检测到未初始化时,会自动跳转到初始化向导页面。
5.2 配置数据库连接
- 在"数据库配置"步骤中填写 MySQL 连接信息:
- 数据库地址:如
192.168.1.100
- 端口:如
3306
- 数据库名:如
syno_link_manager(将自动创建)
- 用户名:如
root
- 密码:数据库密码
- 点击 测试连接,确认连接成功
- 点击 下一步
向导会自动创建数据库(如不存在)和表结构,无需手动执行 SQL 脚本。如果数据库就部署在群晖本机的 Docker 中,数据库地址请使用群晖的局域网 IP(如 192.168.1.100),不要用 127.0.0.1。
5.3 配置群晖 DSM
- 在"群晖配置"步骤中填写群晖 DSM 信息:
- 群晖DSM地址:如
http://192.168.1.100:5000
- 管理员账号:群晖管理员用户名
- 管理员密码:群晖管理员密码
- 点击 测试连接,确认登录成功
- 点击 下一步
5.4 保存配置
- 确认配置信息无误
- 点击 保存配置
- 系统自动完成以下操作:创建数据库和表结构、保存群晖配置和 JWT 密钥、切换数据源、持久化配置到
/data 目录
- 保存成功后,页面自动跳转到系统首页
6验证部署
6.1 检查容器状态
- Container Manager -> 容器 -> 确认
sharechain 容器状态为"运行中"
- 点击容器名 -> 日志,确认看到以下日志:
Started LinkManagerApplication in X.XXX seconds
Tomcat started on port(s): 8080 (http) with context path '/api'
6.2 访问 Web 界面
浏览器打开:
- 首次部署:自动跳转到初始化向导页面
- 已初始化:显示众享链搜索首页
6.3 登录验证
- 点击页面右上角"登录"
- 输入群晖 DSM 账号和密码
- 登录成功后可管理链接
7浏览器插件配置
7.1 安装插件
- 在 Chrome 或 Edge 浏览器打开
chrome://extensions
- 开启右上角 开发者模式
- 点击 加载已解压的扩展程序,选择
browser-extension 目录
- 插件安装成功,工具栏出现众享链图标
7.2 配置插件后端地址
- 点击工具栏的众享链图标
- 点击底部 "设置后端地址"
- 输入后端服务地址:
7.3 使用插件
- 点击插件图标 -> 输入群晖账号密码登录
- 添加链接:弹出窗自动填入当前页面 URL 和标题,填写信息后提交
- 右键快速添加:在任意页面或链接上右键 -> "添加到众享链"
- 浏览链接:切换到"我的链接"标签页,搜索、浏览和快速打开已保存的链接
8日常运维
8.1 更新版本
升级镜像时保留 /data 挂载目录,系统自动读取已有配置启动,无需重新初始化。
从私有仓库更新:
- Container Manager -> 注册表 -> 拉取新版本镜像
- 停止当前容器
- 删除当前容器(保留
/data 挂载目录)
- 用新镜像重新创建容器(端口 80->3000, 8080->3001,存储
/docker/sharechain/data -> /data)
- 启动容器,系统自动读取已有配置启动
从 tar 文件更新:
- 获取新版
sharechain.tar
- 导入新映像
- 停止并删除旧容器
- 用新映像重新创建容器(保留
/data 挂载)
8.2 查看日志
- Container Manager -> 容器 -> 点击容器名 -> 日志
- 或通过 SSH:
docker logs -f sharechain
8.3 备份
定期备份 MySQL 数据库:
mysqldump -h 群晖IP -P 3306 -u root -p syno_link_manager > backup_$(date +%Y%m%d).sql
8.4 容器自动重启
建议在容器设置中勾选"启用自动重启",群晖重启后容器会自动恢复运行。
9常见问题
1. 检查容器状态是否为"运行中"
2. 后端启动约需 15-30 秒,请稍候再访问
3. 检查端口映射是否正确(容器 80 -> 本地 3000)
4. 检查群晖防火墙是否放行 3000 端口(控制面板 -> 安全性 -> 防火墙)
5. 查看容器日志是否有启动错误
1. 确认后端已完全启动(日志出现 Started LinkManagerApplication)
2. 确认 MySQL 数据库可从容器网络访问
3. 在向导中点击"测试连接"验证数据库连通性
4. 测试群晖 DSM 连通性(DSM 地址需使用局域网 IP)
1. 确认使用的是群晖 DSM 的账号密码
2. 确认初始化向导中填写的群晖 DSM 地址正确
3. 确认群晖 DSM 允许 API 访问(DSM -> 控制面板 -> 终端机和 SNMP -> 启用 SSH)
4. 容器内访问群晖 DSM 时,地址应使用群晖局域网 IP
1. 在初始化向导中检查数据库地址、端口、账号密码是否正确
2. 确认 MySQL 允许从 Docker 容器 IP 连接(非仅 localhost)
3. 如果 MySQL 也在群晖 Docker 中,数据库地址应使用群晖 IP 而非 127.0.0.1
4. 在群晖 SSH 中测试:mysql -h 数据库地址 -P 端口 -u root -p
不需要。升级镜像时保留 /data 挂载目录即可,系统启动时会自动读取已有配置启动。
Nginx 已配置 try_files 回退,正常不会出现。如出现:1. 检查容器是否正常运行;2. 尝试重启容器。
1. 确认插件设置中的后端地址正确(http://群晖IP:3001/api)
2. 确认群晖 3001 端口可从浏览器所在电脑访问
3. 点击插件设置页的"测试连接"验证连通性
4. 如果使用 HTTPS 部署,插件地址需改为 https://群晖IP:端口/api
系统每小时自动检查链接有效性。失效链接会被自动复检,URL 恢复正常后状态会自动变回"有效"。也可在管理后台手动修改链接状态。
快速部署检查清单
- Container Manager 已安装
- 镜像已拉取或导入(版本 1.0.3)
- 容器端口映射配置正确(80->3000, 8080->3001)
- 存储空间已挂载(
/docker/sharechain/data -> /data)
- 容器已启动且状态为"运行中"
- 等待 15-30 秒后端启动完成
- 首次访问
http://群晖IP:3000 完成 Web 初始化向导
- Web 页面可正常访问
- 登录功能正常
- 浏览器插件已安装并配置后端地址