群晖 docker 部署思源笔记新手教程

我是新手加小白,才知道思源,刚好手上有台群晖,想在群晖上部署,但是用户指南上的 Docker 伺服教程写的太专业了,看完反而一头雾水;搜索了不少前辈们的教程,最后都是通过命令行部署,虽说结果一样,但对于我这样的小白来说多少还是不够直观,如是记录并整理了一下我的折腾过程。

PS:本文使用的思源版本为 V1.2.31

一、准备工作

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

不需要再手动创建 data、conf 等文件夹,部署后会自动生成;

下面就以文件夹名 siyuan 为例。

二、下载镜像

在群辉 docker 中“注册表”搜索 siyuanb3log/siyuan 下载镜像。

dockerbushu01.jpg

三、目录映射及启动命令

目录映射有两种,“装载路径”不同,“执行命令”中的“命令”后面的启动参数就会不同。

启动参数:

-resident 指定为 true,为常驻内存;

-workspacer 指定工作空间文件夹路径。

PS :此处的启动参数跟据“用户指南”里面的写法 --resident=true --workspace=/siyuan/workspace/ 我用在群晖 Docker 面板的“命令”处会报错,但通过命令行的方式部署正常;我看到链滴讨论区有大佬用 -resident -workspace /siyuan/workspace/ 的格式,尝试了一下,发现没问题。

3-1:使用指定的工作目录:比喻 /siyuan 或其他目录;

3-2:使用思源默认工作目录 : /root/Documents/SiYuan

3-1、使用自定义工作目录

自定义工作文件夹需要通过 --workspace 来指定,如 --workspace=/siyuan/workspace/ 如 3-1 下图,如不加 --workspace 的参数便会使用默认的路径 /root/Documents/SiYuan 如 3-2 里面的图。

qhdockerbushu021.jpg

3-2、使用思源默认工作目录

如果启动命令里面不加 --workspace 的参数便会使用默认的路径 /root/Documents/SiYuan 如 3-2 下图,“存储空间”下对应该的“装载路径”就要修改为相应的路径 /root/Documents/SiYuan

这里偷了一下懒,直接在上面的图中修改了一下,具体请看图中蓝色字体部分。

qhdockerbushu022.jpg

四、容器端口映射

建议使用默认端口 6806,也可以根据需要修改,不过我没有试过。

qhdockerbushu03.jpg

五、其他

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

😄 如果没报错的话,到这里就已经搞定了,浏览器访问 群晖 IP:6806😄

六、顺便记录一下命令行部署的方法

  1. 使用 SSH 工具进入群晖终端,一般用的是 admin 帐户,
  2. 使用 root 用户权限:sduo -i
  3. 拉取镜像:docker pull b3log/siyuan
  4. 部署镜像:
    docker run -v /volume2/docker/siyuan:/siyuan -p 6806:6806 b3log/siyuan --resident=true --workspace=/siyuan/
    或者
    docker run -v /volume2/docker/siyuan:/siyuan -p 6806:6806 b3log/siyuan -resident -workspace /siyuan/
  5. 搞定,浏览器访问 群晖 IP:6806

PS:/volume2/docker/siyuan 为存储笔记的文件夹,必须是完整的路径,需要进 Files Station 需要手动创建;冒号后面的 /siyuan 是通过后面的启动参数 --workspace=/siyuan/ 指定的镜像里的笔记存储位置,如果不用 --workspace 参数指定,默认就是 /root/Documents/SiYuan

2 操作
gfanzuibang 在 2021-08-12 21:43:54 更新了该帖
gfanzuibang 在 2021-08-12 21:42:41 更新了该帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • gfanzuibang
    作者

    用 Docker 部署只是可以方便通过浏览器访问,还可以映射到外网访问,如果浏览器访问的方式能够日常使用,也可以说是不依赖云同步了

    如果要在各客户端之间同步数据,还是需要云同步或者第三方同步工具的...

  • 其他回帖
  • Gr6011010352

    谢谢楼主,我用你的方法终于在群晖上装好了。

    另外我遇到一个问题,我用了 DDNSTO 作内网穿透,现在内网访问没有问题,外网访问就卡在等待界面,请问你有没有遇到或者解决过这种问题?

  • JimAmadeus
    订阅者

    我的也是,Docker 里是空的,但群晖里存着笔记,感觉是原有的笔记和 Docker 容器里的笔记没有映射起来?具体也不大懂,毕竟外行,找时间先学学 Docker 再回来答

  • ntren
    订阅者

    我按照部署下来为什么是英文的,如何改为中文?

    1 回复
  • 查看全部回帖