NAS 部署思源, 多终端同步

NAS docker 上安装最新的 docker 镜像。如果被墙,可以通过 pull 命令拉取,这里就不赘述了。

下面讲下如何配置镜像。

安装 docker 镜像,配置如图:

image

这里我选择的 host 网络,因为如果选择 bridge,后面配置 WebDav 网络同步将会失败。

image

也可以不选择 “使用高权限执行容器”

image

注意,命令里面填入:-workspace /home/siyuan/Siyuan/ -accessAuthCode xxxxxx, 我安装的版本是 v2.11.4,这里需要添加参数 “-accessAuthCode”,值为一串字符串,这里我用 xxxxx 表示,需要记住,后面登录会用到。另外 workspace 路径为“/home/siyuan/Siyuan",我看有的文章说是 "/siyuan/workspace", 但 docker 启动后,进入 docker 查看,会发现数据实际是存放在"/home/siyuan/Siyuan/"下面。

image

目录 1 是在在 docker 下创建的,注意赋予 Siyuan 文件夹 everyone 权限。目录 2 是 docker 内部的 siyuan 的 wokspace 目录。

image

启动后查看 docker 日志,启动成功。

image

浏览器输入主机 IP:6806, 显示如图,表示部署成功。输入 access code 为之前命令行里面填写的 access code 即可登录。

如果申请了外网域名(关于外网穿透,域名登陆,请自行脑补 😊),需要设置反向代理:控制面板--> 登录门户--> 高级--> 反向代理服务器

image

来源:这里协议我选择的 HTTPS,也可以选择 HTTP,这里我选择 HTTPS,如果选择 HTTPS,需要实现申请证书(关于如何申请证书,请仔细脑补 😉)。主机名为自己申请的域名,端口可以用默认的 6806,这里我设置了不同的端口(需要在路由器上开放该端口)。目的地: 协议选择 HTTP(不知道 siyuan 如何配置 HTTPS 访问,没有去折腾),端口为默认的 6806。

image

另外,如果来源设置的 HTTPS 访问,需要在"自定义标题"里面添加如图名称和值,否则即使域名登录成功了,也会提示报错。

image

之后浏览器输入 https://域名:端口,(注意需要提前安装证书,关于如何安装证书,请自行搜索),端口为来源端口(没有研究如何隐藏端口,应该可以实现,知道的小伙伴可以分享一下),之后输入 accesscode 即可登录。

image

登录后,点击左上角->setting->appearance->Language 可以更改语言。

image

这里配置 webdav,为什么要配置云端同步呢?我是为了手机端或者其它终端通过应用程序或者 app 访问,真正实现多平台,多终端无缝同步。否则,就只能通过浏览器访问,如果出现网络不好情况下,就没法编辑。

填写必要的信息,这里就不讲如何配置 webdav 了。这里需要注意的是,由于似乎 docker 版 Siyuan 不支持非权威 CA,所以,如果你是的 NAS 使用的是非权威 CA,比如通过 Mkcert 生成的证书,如果这里“TLS Verify”选择“Verify”,同步将会失败。所以这里需要将"Verify“改为"Skip"。 安卓 app 也有相同的问题。但 windows 桌面版没有这个问题,操作系统导入的自己的 CA,在 windows 桌面版是可以选择"Verify"的。 不知道后期会不会有改进。

image

如果 webdav 配置没有问题,点击"设置",会自动生成 main 目录,你的所有笔记数据会产生在改目录下。当然也可更改其它目录,点击“添加”即可。

配置完成之后,点击左上角的同步,即可将笔记同步到自己的 webdav 服务器。

之后,在手机端或者 windows 桌面端,做相同的配置。这样就实现了多终端同步。

更新: 关于 docker 端思源不能使用非权威 CA 的问题,折腾了一下,找到如下解决方案。

SSH 登录 NAS,如下命令登录到 Siyuan 容器内部。

image

image

发现 CA 存放在这个目录下:

image

如下命令手动将自己的 CA 拷贝到该目录, 注意文件权限(似乎在创建容器时,需要选择最高权限执行):

image

最后重启容器。 这样可以解决 docker 端 siyuan 使用非权威 CA 的问题。 但是安卓端还无解,似乎要更改代码,希望后期能改进。

  • 思源笔记

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

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

    17587 引用 • 63946 回帖 • 1 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    121 引用 • 3588 回帖 • 1 关注
  • NAS
    16 引用 • 37 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 非常详细的指南,楼主辛苦,感谢!

    咨询一下,docker 部署好后,你在 docker 思源里配置的是 webdav,请问我可以在 docker 的思源里,配置 webdav 的地方选择 S3,和本机 S3 配置一致吗?这样 docker 内的思源和其他电脑端手机端都访问 S3 的同一数据库?

    1 回复
  • zane0301

    你好,不管选 S3 还是 WedDav,只要保证所有终端上配置的信息一致就行了, 这样才能实现同步。

  • ColinY

    最新版的思源笔记关闭了 WebDav 的免费功能,现在楼主您这同步功能是否还可使用?(非 vip)

    1 回复
  • zane0301

    你好,我是付费用户,目前使用没有问题。

推荐标签 标签

  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖 • 1 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 24 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 5 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 309 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    21 引用 • 22 回帖 • 5 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 1 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 474 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 452 关注
  • Shell

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

    122 引用 • 73 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    24 引用 • 187 回帖 • 18 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 587 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 37 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    147 引用 • 257 回帖 • 2 关注
  • 域名

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

    43 引用 • 208 回帖 • 1 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 341 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 10 关注
  • sts
    2 引用 • 2 回帖 • 134 关注
  • Solidity

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

    3 引用 • 18 回帖 • 338 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 7 关注
  • golang

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

    490 引用 • 1383 回帖 • 379 关注
  • Java

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

    3163 引用 • 8206 回帖 • 20 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    357 引用 • 1200 回帖 • 584 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 125 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    273 引用 • 675 回帖 • 1 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 7 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 202 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    522 引用 • 4581 回帖 • 683 关注