Why
- 因为今天发现
1panel
的软件商店的更新,突然发现了新增了一个应用就是这个,顿时眼前一亮。之前一直都没有找到比较好的笔记同步软件,说实话我并不是很喜欢OneNote
和坚果云这些,不仅仅是要我登录啊啥的,花钱也无所谓,主要是广告而且加上总觉得数据放在别人的云上总是不太放心,所以一直都在寻找可以自己搭建的笔记软件。说实话我搭建过语雀,ShowDoc
,还有印象笔记等等开源的,但是说实话我要求的是尽量简洁,而且支持MD
渲染就可以了,再加上我的服务器有点拉,所以一直都没有找到合适的软件。 - 之后我干脆就搭建了个人的博客,所以的
MarkDown
的文件都放在博客里,然后如果是私密的话就加上密码,但是说实话有点繁琐,再加上有一个博客升级数据全部丢失,心是真的痛。所以还是觉得有个笔记备份的软件真的很有必要。 - 从大学开始我就喜欢用的
MD
编辑器就是Obsidian
,又名黑曜石,说实话页面和设计操作等我真的超级喜欢这款软件。那个时候我也接触了这个软件的同步,可惜当时还没有同步的,后来出来的同步还要花钱而且不是很好用就放弃了。 - 今天突然看到了这个插件,发现自建真的不错的。而且我亲测可以跑起来的,速度什么的问题也不是很大,当然可能也是我的服务器比较拉。
How
1panel
安装,设置好账号密码和开放端口并设置内网穿透和防火墙,第一步保证你可以访问http://ip:port
。- 设置反向代理,我使用的
Nginx
,端口暴露的是默认端口。当然如果你没有域名的话其实也没必要设置。我是买了域名的,也为了服务安全,就顺便也设置了安全证书,以下是我的配置,仅供参考。# obsidian server { #SSL 默认访问端口号为 443 listen 443 ssl; #请填写绑定证书的域名 server_name 你的域名; #请填写证书文件的相对路径或绝对路径 ssl_certificate 你的证书(注意此处是pem的那个文件); #请填写私钥文件的相对路径或绝对路径 ssl_certificate_key 你的证书(注意此处是key的那个文件); ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols TLSv1.2 TLSv1.3; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:port/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 注意一定要添加这一行,不然的话会显示上传文件错误,必须设置比较大的上传大小 # 我就是因为这个没有设置 弄了好半天 client_max_body_size 50M; location /notifications/hub/negotiate { proxy_pass http://127.0.0.1:port/; } }
- 上述设置之后你可以使用以下代码热重载
Nginx
# 检查是否有错误 nginx -t # 热重载 nginx -s reload
- 浏览器打开你所设置的域名,你会发现只有一串
json
字符串,这个时候不要慌,以下假设你的域名为https://test/
。浏览器输入https://test/_utils
就可以进入后台了。账号密码是1panel
安装时候所设置的。点击右上角的Create Database
,取名随便,我取名就是my
。 - 以上基本设计就完成了,下载Obsidian,安装后打开插件市场,安装插件。
- 然后在设置界面启用该插件,在下方网址填入
https://test/
,账号密码就是1panel
的账号密码,数据库。 - 然后在里面开启同步。
- 你可以在网页上查看你的数据库是否有数据了,一般来说这种操作就不会有什么问题了。以下附上我的所有的配置,实现实时同步,同时也是防止以后忘记了。
结果
- 经过检测我这边两台电脑都成功了,而且实现了实时同步的效果。
- 嘿嘿,所以笔记托管和同步都实现了。但是唯一的问题是,那个所使用的数据库里面的数据。。。我完全都看不懂,这个之后再研究吧,问题不大。
- 此处再次感谢
Github
的开源和精华问答。