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

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

群晖 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

  ‍

  • 思源笔记

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

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

    20651 引用 • 80727 回帖 • 1 关注
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 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • docker 思源镜像更新后,打开网页思源它会被重置,又要重新登录加载,老哥遇到过没有?

    1 回复
  • 其他回帖
  • szftjames

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

  • 这个可以有,家里的群晖目前还是 6.2 呢,等过年回家给升级到 7 版本后

    也折腾下安装个思源的 docker 版本试试

  • XUNZHAOPDJ

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

    1 回复
  • 查看全部回帖

推荐标签 标签

  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 518 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    337 引用 • 1751 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖 • 5 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 468 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 365 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 714 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 53 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 613 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • Swagger

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

    26 引用 • 35 回帖 • 1 关注
  • TensorFlow

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

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

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖 • 1 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 31 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 18 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 4 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 62 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 54 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    54 引用 • 85 回帖
  • 博客

    记录并分享人生的经历。

    272 引用 • 2386 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 721 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    335 引用 • 622 回帖
  • 安装

    你若安好,便是晴天。

    131 引用 • 1184 回帖 • 1 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    14 引用 • 7 回帖
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    72 引用 • 1737 回帖 • 2 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    263 引用 • 664 回帖