一、准备工作

打开 File Station,在 Docker 目录下手动新建文件夹,文件夹名:siyuan

二、下载镜像

  1. 在群辉 docker 中“注册表”搜索 siyuanb3log/siyuan 下载镜像。
  2. 使用命令行拉取镜像:docker pull b3log/siyuan

三、目录映射及启动命令

启动参数:

  • -resident 指定为 true,为常驻内存;
  • -workspace 指定工作空间文件夹路径。

具体配置如下:

配置图

四、容器端口映射

使用默认端口 6806

五、其他

为了方便重启群晖或容器意外关闭后思源笔记能够及时运行,可以勾选对应容器“高级设置”里面“自动重启”的选项,需要在容器停止状态下修改。

六、命令

  1. 拉取镜像
docker run -v /volume4/docker/siyuan:/siyuan -p 6806:6806 b3log/siyuan -workspace /siyuan/
  1. 部署镜像

    docker run -v /volume4/docker/siyuan:/siyuan -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/

PS:冒号后面的 /siyuan 是通过后面的启动参数 --workspace=/siyuan/ 指定的镜像里的笔记存储位置,如果不用 --workspace 参数指定,默认就是 /root/Documents/SiYuan

为了解决群晖用户的需求,修改了 docker 镜像的权限,锁死必须用用户 siyuan(uid/gid:1000:1000)运行,而以前的 docker 都是通过 root 运行,从而造成更新后因为权限问题无法启动 siyuan

解决办法:

  1. 修改命令
    docker:在原命令上加上 -u 1000:1000
    docker-compose:增加一行 user: "siyuan"
  2. 对宿主机的数据文件夹赋予 1000:1000 权限,chown -R 1000:1000 /volume4/docker/siyuan/
  3. 重启 docker

update 2023年10月11日

今天发现思源笔记启动不了,报错:

The access authorization code command line parameter (--accessAuthCode) must be set when deploying via Docker.

真无语,思源docker版真的太折腾了。

需要添加--accessAuthCode=XXX

完整docker搭建命令:

docker run -v /volume4/docker/siyuan:/siyuan -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/ --accessAuthCode=520

最后修改:2023 年 10 月 11 日
如果觉得我的文章对你有用,请随意赞赏