问题:docker 部署 Web 端思源笔记与本地客户端关系

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

docker 部署 Web 端思源笔记与本地客户端同时使用 S3 同步

  • 版主及各位大佬您好,本人自行部署了 Web 端的思源笔记,同时在同一台服务器上部署了 Minio S3;
  1. 需求
  • 阅读 Github 文档后,得知 Web 端和本地客户端时不能进行同步的
  • 本人使用笔记的需求特点是笔记不多,需要在任意设备上查看笔记,比如临时拿到的电脑,电子黑板,会议平板... ,同时网络环境多变,网络存在不确定性,好在大多数网络是有的
  1. 设想
  • 我的笔记上家是“印象笔记”,没有网络或网络不佳时可以进行本地编辑及记录,有网络时可以上传服务器,进行云同步,再无客户端时也可以使用 Web 临时进行浏览及编辑;
  • 后来产生了一个设想,那么如果我将 WEB 端思源的“云端”选项指向本机的 Minio S3,手机及电脑客户端也指向 Minio S3,这样在任意一台设备上使用 Web 和客户端进行编辑最终理论上所有笔记都可以汇总到 S3 存储;这样没有网络时我可以想办法客户端离线查看,有网络但没有客户端时我可以在线使用 Web 端查看
  1. 问题
    1. 这种设想是否可行?
    2. 按照我的不成熟的理解,Web 端相当于一台设备常开着一个思源笔记客户端,那如果电脑或手机也开启思源客户端,两者都使用“自动同步”选项,是否会存在同步冲突或笔记丢失的问题?
    3. 如果设想行不通,是否有其他方法可以满足我的使用需求

感谢版主及大佬在有限的时间能阅读我这个奇怪的设想及需求,非常感谢 >_<

  • 思源笔记

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

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

    22814 引用 • 91609 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 你好,从技术上来说,思源每个端都是服务器(包括移动端),所以都可以伺服,只要网络连通,其他设备就可以通过浏览器访问使用思源。

    如果要用数据同步,那么所有设备都连到同一个 S3 存储桶上,然后就可以同步了,关于同步是否会冲突请参考用户指南 数据同步 章节,简要而言,只要设备是交替修改数据就不会有冲突,比如 A 设备编辑后同步,再到 B 设备上同步后再编辑是不会发生冲突的。

  • 其他回帖
  • yubikey

    非常感谢版主和大佬的回复,按照上文的设想尝试搭建和配置了一下,可以实现 WEB 端指向 minio S3,编辑及同步均暂未发现问题

  • 如果思源能自带一个 s3 或者 webdav 服务就好了(至少电脑端和 docker 端提供这一功能),避免楼主这样的相同内容重复存储,楼主的方案就是 docker 里存了一份内容,minio 里又存了一份相同的内容。 @88250

    这个功能可以作为一次性付费功能。

    1 回复
    1 操作
    openAI 在 2023-11-11 19:40:25 更新了该回帖
  • Docker 部署的话可以比较方便地拉起其他服务,思源本体暂时不考虑提供存储服务了。

  • 查看全部回帖

推荐标签 标签

  • SQLServer

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

    21 引用 • 31 回帖 • 3 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 482 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 220 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 3 关注
  • 导航

    各种网址链接、内容导航。

    41 引用 • 175 回帖 • 1 关注
  • Java

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

    3188 引用 • 8214 回帖
  • Vue.js

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

    265 引用 • 666 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    407 引用 • 3576 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1519 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 47 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    691 引用 • 535 回帖 • 1 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    6 引用 • 38 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖 • 2 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 7 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1057 回帖 • 2 关注
  • gRpc
    11 引用 • 9 回帖 • 70 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    27 引用 • 225 回帖 • 169 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 142 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 373 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 137 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    171 引用 • 512 回帖
  • GAE

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

    14 引用 • 42 回帖 • 773 关注
  • RabbitMQ

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

    49 引用 • 60 回帖 • 366 关注
  • frp

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

    20 引用 • 7 回帖 • 1 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 636 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 289 关注