NAS 部署思源, 多终端同步

本贴最后更新于 328 天前,其中的信息可能已经时移世异

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 的问题。 但是安卓端还无解,似乎要更改代码,希望后期能改进。

  • 思源笔记

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

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

    22353 引用 • 89454 回帖
  • 链滴

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

    记录生活,连接点滴

    153 引用 • 3783 回帖
  • NAS
    19 引用 • 52 回帖 • 3 关注

相关帖子

欢迎来到这里!

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

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

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

    1 回复
  • 其他回帖
  • ColinY

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

    1 回复
  • zane0301

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

  • 付了 64 块钱开了同步功能, 现在数据不多, 放在轻牛云上, 等数据多了以后打算自己迁移到自己的群辉 nas 上。

  • 查看全部回帖

推荐标签 标签

  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 177 关注
  • HHKB

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

    5 引用 • 74 回帖 • 471 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 1 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 373 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • 自由行
    11 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 43 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1235 回帖 • 412 关注
  • 持续集成

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

    15 引用 • 7 回帖 • 1 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 721 关注
  • golang

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

    497 引用 • 1387 回帖 • 283 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 536 关注
  • gRpc
    11 引用 • 9 回帖 • 73 关注
  • 分享

    有什么新发现就分享给大家吧!

    248 引用 • 1792 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 40 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    944 引用 • 1459 回帖 • 17 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    85 引用 • 139 回帖 • 1 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 22 关注
  • 资讯

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

    55 引用 • 85 回帖 • 2 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 585 关注
  • Latke

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

    71 引用 • 535 回帖 • 788 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • Hibernate

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

    39 引用 • 103 回帖 • 710 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 21 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 642 关注