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

本贴最后更新于 1227 天前,其中的信息可能已经斗转星移

我是新手加小白,才知道思源,刚好手上有台群晖,想在群晖上部署,但是用户指南上的 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

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23007 引用 • 92542 回帖
2 操作
gfanzuibang 在 2021-08-12 21:43:54 更新了该帖
gfanzuibang 在 2021-08-12 21:42:41 更新了该帖

相关帖子

优质回帖
  • ovst 1

    找了 2 个小时的方法,一直以为是安装步骤上的问题。
    最后,自己尝试了如下解决了问题:
    1、按常规方法安装好镜像
    2、用 SSH 登入服务器
    3、用 docker ps 查看 siyuan 容器的 ID 名称
    4、用 docker exec -it a201ec4e****(替换成你的容器的 ID) sh '命令进入容器
    5、用 find -name data '命令查找 data 的路径
    6、得到我的 data 路径为 /home/siyuan/Documents/SiYuan/data '坑爹的,和各种教程里的都不一样
    7、按这个路径做文件夹映射就 OK 了

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • RFXUW

    请问用 Docker 部署,是不是就不依赖云同步了,可以直接同步

    2 回复
  • gfanzuibang

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

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

  • ltbyhf

    我通过内网 IP:端口号可以正常访问,但是通过反向代理映射到外网后始终进不去,只是出现个思源的图标在那里转圈圈,想知道是怎么回事?

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

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

    2 回复
  • ntren

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

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

    1 回复
  • gfanzuibang

    你可以参考一下这个 群晖 docker 部署思源笔记后通过【外网】无法访问的问题(多图)

    我没有试过,可以还需要加两个参数 --servePath="xxx.com" --ssl=true

    2 操作
    gfanzuibang 在 2021-10-05 12:41:57 更新了该回帖
    gfanzuibang 在 2021-10-05 12:41:33 更新了该回帖
  • gfanzuibang

    设置里面改啊。。

  • bruce263

    请问群晖 docker 如何修改启动命令呢 目前看只有在初始安装的时候 高级设置里进行启动命令的设置 完成配置启动容器后 无论是运行状态还是停止状态 都无法在编辑启动命令了

  • docker run --name siyuannotes -dit --restart=always -v /volume1/Notes/SiYuanNotesData:/root/Documents/SiYuan -p 6806:6806 -u 1000:1000 b3log/siyuan:v1.5.2 --resident=true --workspace=/root/Documents/SiYuan -accessAuthCode password

    环境:群晖 DSM7.0

    问题:容器能正常登陆使用,宿主机/volume1/Notes/SiYuanNotesData 中一片空白

  • chax

    更新了版本之后需要添加 -u 1000:1000 参数。

  • chax

    我的参数是 docker run -v /volume1/siyuan:/siyuan -p 6806:6806 -u 1000:1000 b3log/siyuan -resident -workspace /siyuan/ 。用 ddnspod+ 路由器端口映射实现外网访问。

  • 最新版本之后老是提示权限不足,但是共享文件夹里都开了。。

    image.png

  • wotemerile

    在 docker 里搭出来的思源笔记能设置中文吗?

    1 回复
  • gfanzuibang

    可以啊,跟桌面端的设置一样。

  • xmxuexi002

    在群晖上用 Docker 部署了思源笔记,工作目录是 docker/siyuan, 笔记能正常工作,也能正常导出,但 siyuan 文件夹下是空白的,那笔记内容保存到哪里去了?

    2 回复
  • MANG

    我之前也遇到了类似问题,后来发现是思源笔记的工作目录没有指定好,这样会导致映像安装的时候只能将工作目录放到 /home/Documents/SiYuan 下去。

    建议你重新安装一下,确定工作目录确实指定到了你想放的目录。参考楼主的步骤 3-1

    1 回复
  • klsdfjo

    请问你解决了吗,我还没解决

    1 回复
  • xmxuexi002

    你好,我反复试了很多次,也试了不同路径,最终的结果还是一样,siyuan 文件夹下还是一片空白(没有自动创建 data temp 等相关文件夹,搜遍整个群晖也没有找到相关文件夹),笔记能用,但这样有问题,版本更新后笔记就全部丢失了. 另外:我这里 -workspace 只能用 /siyuan/workspace/ 不能用 /siyuan/ 不然会意外停止

    用默认目录也是同样的问题,


    2022-3-4

    终于解决了,原来是新建的文件夹 siyuan 的权限不够,把权限调整为完全控制就可以了。

    1 回复
    3 操作
    xmxuexi002 在 2022-03-04 21:44:44 更新了该回帖
    xmxuexi002 在 2022-03-04 21:10:38 更新了该回帖
    xmxuexi002 在 2022-03-04 21:09:52 更新了该回帖
  • klsdfjo

    我也是。请问你怎么解决的???

    1 回复
  • xmxuexi002

    在 docker 文件夹下手动新建名称为 siyuan 的文件夹,新建后右键点击 siyuan 文件夹--属性--权限

    把 Everyone 权限全部打上勾,另外注意文件夹的名称,区分大小写,按照上面教程 3-1 中,装载路径写 /siyuan/

    命令中:workspace /siyuan/ (这两个地方的 siyuan 前后都加了斜杆)

    1 回复
  • klsdfjo

    我找你的重新安装了一次,还是不行。http://ip+6806 能上,用群辉反向代理以后的 https 上不了,还是停留在启动页面。路由器已经设置了 端口转发。期待你的回复,困扰了我一个星期,可以帮忙看下吗。

    2 回复
  • xmxuexi002

    我把我的步骤整理了一下,希望有帮助:

    https://ld246.com/article/1646543109328

  • xmxuexi002

    https:// 的需要加

    --servePath="xxx.com" --ssl=true

  • 1.4.6 版本以后默认用户变了,这个用户问题没解决,1.4.6 以前的版本启动产数改成下面这样可以使用!

    -resident -workspace /siyuan --servePath 你的外网域名 --ssl true

  • wonder1893

    是否可以通过群晖的手机同步功能同步到手机 app 的 data 文件中,实现 app 和群晖以及网页版同步呢?

  • wonder1893

    嗯嗯,之前看到日志里面提示无法写入。

  • ghostxiu

    问下 docker 安装思源怎么使用挂件呢

  • oybt

    我的 siyuan 目录下也是空白的,你现在解决了这个问题吗

    1 回复
  • ovst 1

    找了 2 个小时的方法,一直以为是安装步骤上的问题。
    最后,自己尝试了如下解决了问题:
    1、按常规方法安装好镜像
    2、用 SSH 登入服务器
    3、用 docker ps 查看 siyuan 容器的 ID 名称
    4、用 docker exec -it a201ec4e****(替换成你的容器的 ID) sh '命令进入容器
    5、用 find -name data '命令查找 data 的路径
    6、得到我的 data 路径为 /home/siyuan/Documents/SiYuan/data '坑爹的,和各种教程里的都不一样
    7、按这个路径做文件夹映射就 OK 了

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

  • ovst

    我已经解决,请到原帖查看我的留言

    1 回复
  • XUNZHAOPDJ

    大佬,你是怎么解决的?我每次升级后也是软件内容是空的。按照你上个帖子操作。第五步,无法执行。还是跳出/opt/siyuan $。

    1 回复
  • insv

    你得先使用 cd 命令切换到 ~ 目录,如下图

    我直接使用 find -name data 命令也什么都不返回,因为当前目录下没有名为 data 的目录或文件

    懒人抄作业版:在 2.8.9 版本中,路径就是 /home/siyuan/Documents/SiYuan,不要看文档说能通过 --workspace 参数指定工作目录,似乎不生效。

    完整安装可看这篇博客:https://blog.insv.xyz/siyuan

    image.png

请输入回帖内容 ...