群晖 DSM7.1.1 docker 部署思源笔记 2.5.4,成功映射工作目录

本贴最后更新于 732 天前,其中的信息可能已经渤澥桑田

群晖 DSM7.1.1 docker 部署思源笔记 V2.5.4,成功映射工作目录

  • 我的群晖是 DSM7.1.1 版本,之前部署思源笔记,漏了设置 workspace 目录一项,结果 docker 目录下一片空白,这次要升级思源笔记 V2.5.4 版本,就想把这个问题解决了。因为如果将思源笔记 workspace 映射到共享文件夹,每次更新思源笔记的时候就不再需要先导出 data 目录,更新后再导入 data,而是直接下载 latest 的映像后,重置容器即可完成更新,更新后笔记数据都还在。

    image202212171503566kmlatp.png

    • 经过一个小时的折腾,终于成功把思源的 workspace 映射到共享文件夹 docker/siyuan/目录。

    workspace 映射 20221217143804iu1ytjd.png

  • 查了网上很多关于群晖部署思源笔记的文章,都是对应思源的旧版本,用的命令在部署思源笔记 V2.5.4 时总不成功,而我又不想用 SSH 命令,于是查阅了 GitHub 上面的原文:

      • Entrypoint

      The entry point is set when building the Docker image: ENTRYPOINT ["/opt/siyuan/kernel" ], use docker run b3log/siyuan with parameters to start:

      • --workspace specifies the workspace folder path, mounted to the container via -v on the host

      More parameters can refer to --help. The following is an example of a startup command: docker run -v workspace_dir_host:workspace_dir_container -p 6806:6806 b3log/siyuan --workspace=workspace_dir_container

      • workspace_dir_host: the workspace folder path on the host
      • workspace_dir_container: The path of the workspace folder in the container, which is the same as specified in --workspace

      To simplify, it is recommended to configure the workspace folder path to be consistent on the host and container, such as: workspace_dir_host and workspace_dir_container are configured as /siyuan/workspace, the corresponding startup commands is: docker run -v /siyuan/workspace:/siyuan/workspace -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/workspace/.

    • 读完之后终于了解用 SSH 命令和群晖 Docker 创建容器时录入命令的区别。我把上文中最后一段命令摘出来:docker run -v /siyuan/workspace:/siyuan/workspace -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/workspace/。

    • 然后将这段命令逐句对应到群晖的操作:

      1. -v /siyuan/workspace:/siyuan/workspace 这句命令就是指定映射的共享文件夹。
        • image20221217144610kf8n0r8.png
      2. -p 6806:6806 这句命令就是指定端口,这个比较简单。
        • image2022121714464574476xg.png
      3. -u 1000:1000 这句命令是给共享文件夹 everyone 的完全控制权,在 filestasion 里操作,先在 docker 下新建文件夹 siyuan,然后打开 docker/siyuan 的属性,在权限中新增 everyone 的完全控制权。
        • image20221217144823rogrrft.png
        • image202212171449415flbw3m.png
      4. b3log/siyuan 这句就是在新增容器的时候选择已经下载的映像文件 b3log/siyuan:latest。
        • image20221217145108y7wwww7.png
        • 备注一下,要事先在 docker 的注册表中搜索 siyuan,并下载 b3log/siyuan 下的 latest 版本(这里就是 2.5.4 版本),下载后可以在 docker 的映像中看到。
          • image20221217150847ri1wcjx.png
          • image202212171509565nvifgj.png
      5. --workspace=/siyuan/workspace/ 这句命令就是在创建容器时在高级设置中,“执行命令”中输入“-workspace /siyuan/workspace/”,注意群晖 docker 中的命令与 SSH 中命令格式不同。还有一点需要注意的,因为这句命令中有 workspace 的目录,所以我先在 docker/siyuan/下新建了 workspace 目录。
        • image20221217145235e2twkvl.png
        • image2022121714541456oyvtz.png
    • 好了,到此就可以保存、开启容器,这时就可以看到 data 目录出现在 docker/siyuan/workspace/下面了。

      • workspace 映射.png
    • 容器也正常工作了。

      • image20221217145942vccw41j.png
    • 打开浏览器,输入群晖地址:6806(端口号),就可以正常使用思源笔记了。

  • 今天更新到思源笔记 v2.5.5,不再需要导出 data 目录。之前没有将思源笔记 workspace 映射到共享文件夹,还需要先导出 data 目录,更新后再导入 data。现在只需要 2 个步骤:

    • 在 docker 注册表中下载 siyuan 的 latest 版本
      • image.png
    • 停止 siyuan 容器,并重置,重置时会提示数据全会被删除,选确定。
      • image.png
    • 重置后启动容器,在浏览器中登录思源笔记,可以看到之前笔记的数据都在。
  • 有个小问题,为什么我的思源笔记不能导出 word?请大伙不吝赐教,谢谢!

    • image.png

  ‍

  • 思源笔记

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

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

    23020 引用 • 92599 回帖
4 操作
szftjames 在 2022-12-21 12:05:42 更新了该帖
szftjames 在 2022-12-21 12:00:14 更新了该帖
szftjames 在 2022-12-17 21:27:26 更新了该帖
szftjames 在 2022-12-17 21:18:38 更新了该帖

相关帖子

欢迎来到这里!

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

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

    呃,你说的这种情况我没遇到过,不过 docker 我只用了很短时间,后来就转成用 NAS 上的 S3 了,因为 S3 支持的 PC 客户端比 docker 支持的 web 版功能更多点。

  • 其他回帖
  • docker 思源镜像更新后,打开网页思源它会被重置,又要重新登录加载,老哥遇到过没有?

    1 回复
  • XUNZHAOPDJ

    感谢大佬,终于成功映射了工作目录。一点点笔误,第五点里面应该是“-workspace /siyuan/workspace/”多了一个 d。再次感谢大佬!!!!

    1 回复
  • NeptuneBB

    感谢楼主,折腾了半天原来是权限没设置正确

  • 查看全部回帖

推荐标签 标签

  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 410 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 29 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 344 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 478 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 3 关注
  • 思源笔记

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

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

    23020 引用 • 92599 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 101 关注
  • danl
    146 关注
  • 电影

    这是一个不能说的秘密。

    121 引用 • 604 回帖 • 1 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 2 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 789 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    123 引用 • 74 回帖 • 2 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 391 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 17 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 5 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1388 回帖 • 278 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 60 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    492 引用 • 926 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 715 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 623 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    132 引用 • 1114 回帖 • 125 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 1 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 361 关注