Obsidian 使用 Railway 的免费同步方案或自建部署

数字玩具 2023年12月28日 18:58

前言

我在去年写过一篇《Obsidian 免费的实时同步服务》的文章,帮助过很多朋友实现快速的Obsidian同步方案😎,但遗憾的是提供服务的fly.io平台ipv4已经开始每月两刀的价格开始收费🤧。这我是怎么知道的?因为我想打开fly.io看看程序运行的怎么样了,但发现右边好像有什么奇怪的金额显示🤬?

kgLlC.webp

什么?1.6刀了😨?!在看文档够发现23年12月刚开始收款,但我邮箱内好像没有收到提醒邮件就开始收费了耶。有这个钱还不如再买点服务器嘞!赶紧将收费的ipv4地址释放掉。

😘
如果需要在fly.io中停用ipv4地址的朋友,可以参考《Obsidian 免费的实时同步服务》中的调整配置信息章节。

国内ipv6网络还不够成熟,有很大一部分地区并没有提供ipv6地址,所以在停用ipv4后无法连接到fly.io上部署的CouchDB,那体验可太糟了!那有没有什么其他更好的方式呢🤔?我开始尝试其他的解决方案。

😨
本来是写Railway与Zeabur两个平台的使用方法的,但是Zeabur与Railway现在已经开始收费:1. Railway原先如果绑卡升级为“开发者计划”的用户,现在会变成“爱好者计划”,并免除每月5美元的订阅费,所以依然可以免费使用。2. Zeabur现在需要订阅“开发者计划”才可以使用Dockerfile容器部署服务,但我不清楚是否会免除订阅费

Railway

写都写了,还是发布吧🥺。

注意:本质上是建立一个可以连接的CouchDB数据库,有服务器的朋友可以直接搭建一个即可。docker-compose.yaml文件可以参考下面的自托管章节。需要有一张外币卡用来激活。外币卡很好申请,推荐中国银行办理🤗。
💡
注意!!如果很久以前注册过Railway并绑定过银行卡,现在在后台看是Hobby计划,那么你依然可以使用此方式,是免费的!现在新注册的Hobby计划已经开始收费

Railway提供的爱好者计划有每月5美元的免费额度,所以,只要我们不超额使用,那么就是免费的啦🎉!

爱好者计划的使用费用大致为:

内存 6.39 minutely GB $0.000231 / GB / Minute
CPU 3.38 minutely vCPU $0.000463 / vCPU / Minute
出口流量 0.01 total GB $0.10 / GB
硬盘 8.98 minutely GB $0.00000579 / GB / Minute

配置可达每个容器最大8GB内存,最大8个vCPU与共享磁盘 100GB,我们用来同步Obsidian足够100年写不完拉🤩!不仅如此,还提供SSL域并且支持自定义域名。

不过随着时间的使用,硬盘使用会变得越来越大,所以我们只用来编写md文件,不要传入图片就好😋。可以在网上找一些免费的图床,在编写Markdown文章时引入使用。

部署

打开 Railway注册,下面的链接是我的推荐链接,可以让我获得一些免费的积分。

请放心,不会收取你的任何费用。
Railway
Railway is an infrastructure platform where you can provision infrastructure, develop with that infrastructure locally, and then deploy to the cloud.

在绑定外币卡后激活爱好者计划。

然后打开仪表板,点击 +New Project 在搜索框搜索CouchDB选择并确认,其他选项保持默认即可。

keNt5.webp

这里的 Repository details 下好像需要一个Github账户?因为我是通过Github的SSO登录的所以不太清楚其他人是什么样子😖。

Environment variables 下已经填写好3个环境变量,不需要修改。分别是 COUCHDB_USER:你的用户名,COUCHDB_PASSWORD:部署时才随机生成的密码,PORT:端口号,(都不需要修改!!)

点击部署后坐和放宽。等待页面出现绿色的 Deploy Successded代表部署完成。

key3X.webp

点击我们中间的项目块,Setting-Networking中点击+ Custom Domain可以修改自定义域名,如果没有域名也可以使用Railway默认提供给你的域名。

Variables中有你的用户名和密码,可以打开复制保存(重要)🧨。

自托管部署

安装Docker与Docker-compose的方式自不必多说。

使用下面的Docker-compose.yaml文件:

version: '3'
services:
  couchserver:
    image: couchdb
    restart: always
    ports:
      - "5984:5984"
    environment:
      - COUCHDB_USER=admin #修改用户名
      - COUCHDB_PASSWORD=123456 #修改密码
    volumes:
        - ./dbdata:/opt/couchdb/data

然后docker-compose up -d启动后,在Nginx处配置反向代理即可。

网页配置

这一节和《Obsidian 免费的实时同步服务》大同小异。

Obsidian 免费的实时同步服务
使用 fly.io 免费计划部署或自托管数据库,进行 LiveSync 插件的一系列配置后实现各设备间 Obsidian 实时增量修改同步,可以和官方同步服务相媲美。

打开CouchDB的网址你的域名/_utils/#/setup输入你刚刚保存的账号与密码。

WXRhO.webp

点击右上角的 Create Database,创建一个数据库,名字叫 obsidian (或者其他也可以)。Database name 为数据库名字,Partitioned 请不要勾选,然后点 Create 创建。

配置Setup Apache CouchDB页:

自托管方式执行,如果使用Railway跳过这一步骤。

点击Setup,打开此页面,第一行的 Specify your Admin credentials 为你在上面步骤中配置的用户信息。第二行的 Bind address the node will listen on 意思是监听的访问地址,设置为 0.0.0.0 为允许所有 ip 访问。第三行的 Port that the node will use 为你在Docker-compose.yaml文件中的ports下写的第一个端口。如果和我设置的一样,那这里应该是 5984😚。设置完成后会显示 Apache CouchDB is configured for production usage as a clustered node! Do you want to replicate data?,代表配置成功。

启用CROS:

6abKD.webp

打开Configuration选项卡中的CROS标签,点击启用CROS就好啦。

💡
下方的 Origin Domains 需要设置为 All domains。

Obsidian 设置

这一节同样也可以参考《Obsidian 免费的实时同步服务》的Obsidian 设置章节📝。

没有安装插件的朋友:关闭Obsidian的安全模式,然后插件市场搜索安装 Self-hosted LiveSync。然后打开设置,找到Self-hosted LiveSync插件的配置页。

有插件并且跟着我之前配置过fly.io的,打开插件的Sync Settings页面,点击Synchronization Methods下的Sync Mode下拉框,选择为on events关闭同步后在进行下面的操作。

打开 Remote Database configuration 选项卡,输入自己的数据库网址、用户名、密码与数据库名。

网址:Railway提供的,或是你自己自定义的域名。
用户名与密码:Railway部署应用的Variables中查询,上一小节让你保存的就是啦。
数据库名:obsidian或自己设置的名字。

点击下面的test按钮测试,如果配置正确,右上角显示连接成功🎉!

如果有其他问题,可以参考《Obsidian 免费的实时同步服务》中的修复链接章节之后的内容。

标签

吕楪

博主.本博客的所有者,一切的开始。