思源笔记是一个开源的个人知识库管理工具,在其官网可以下载客户端软件,也可以注册账号后一次性购买、解锁通过S3或者webdav进行数据同步的功能。但是考虑到:
- 需要多端使用,用web方式访问才是最方便的
穷
我决定用家里闲闲没事干的Unraid自建一个思源笔记服务。
安装思源笔记Docker版本
- 在Unraid的应用商店搜索siyuan并且安装
- 在弹出的配置界面,进行如下设置:
- 打开右上角的Advanced View
- Post Arguments中添加
--accessAuthCode=登录密码 --workspace=/siyuan/workspace/
,将登录密码
替换为你自己的登录密码 - 勾选Privileged
- Web UI的端口不要变,否则在初始化的时候会无法打开页面
- 修改Notes配置,点击右侧的EDIT,将Container Path修改为
/siyuan/workspace
,Host Path修改为/mnt/user/appdata/siyuan
(这是Unraid Docker默认的数据路径),点击SAVE保存 - 删除其他多余的配置,选择DONE。注意先不要点击APPLY启动,因为还需要进行下一步的配置
- 由于我们在上面的配置中,将Docker容器中的数据目录与Unraid的
/mnt/user/appdata/siyuan
目录进行了映射,所以需要在Unraid中创建该目录,并给与读写权限,否则会导致Docker无法正常启动。打开Unraid的终端,输入以下命令:
1 | mkdir -p /mnt/user/appdata/siyuan |
- 回到Docker界面,点击思源笔记的容器图标,在弹出的菜单中启动容器。随后,再次点击容器图标,选择WebUI,即可打开思源笔记的页面。
备份思源笔记数据
思路很简单,通过Rclone将数据备份到云服务,并通过Unraid的定时任务进行定时备份。这里以备份到Cloudflare的R2为例,其他云服务的配置方法类似。
安装Rclone
- 在Unraid的应用商店搜索rclone并且安装
- 安装完成后,打开Unraid的终端,输入
rclone version
,如果显示版本号,则说明安装成功
配置Rclone
- 在Unraid的终端中继续输入
rclone config
,进入Rclone的配置流程 - 输入
n
,创建新的配置
- 输入配置名称,如
cloudflare
- 输入数字选择存储类型,如R2就是S3类型,输入
5
- 输入数字选择供应商,如Cloudflare就是
6
(Cloudflare R2 Storage)
- 选择获取Access Key和Secret Key的方式,这里选择
1
,即手动输入
- 分别输入Access Key和Secret Key,这里的Access Key就是Cloudflare的账号id,Secret Key就是Cloudflare的API Key,可以在Cloudflare的账号设置中找到
- 选择Region,这里选择1,因为Cloudflare的R2是自动的
- 输入Endpoint,格式是
https://xxxxxx.r2.cloudflarestorage.com
,可以从R2中Bucket的信息页面找到
- 直接回车,跳过进阶设置
-
输入
y
确认配置,再输入q
退出配置 -
输入
rclone lsd cloudflare:
,查看是否能够列出Bucket列表,如果能够列出,则说明配置成功。其中cloudflare
是配置名称,可以自行修改
使用Rclone备份数据
- 在Unraid应用商店搜索User Scripts并且安装
- 在Unraid的Settings中,选择User Scripts,点击Add New Script,输入脚本名称,如
sync-siyuan
,然后点击脚本左侧的齿轮按钮,在弹出的窗口中选择Edit Script
- 在弹出的编辑窗口中,输入以下内容,其中
cloudflare:siyuan
是Rclone的配置名称和R2中的bucket名称,可以自行修改
1 |
|
- 点击SAVE CHANGES保存。
- 在User Scripts中,点击脚本右侧的RUN SCRIPT,即可手动运行脚本。可以在弹窗中看到日志。
- 选择最右侧的下拉菜单,将Scheduled Disabled改成Scheduled Hourly,即可设置每小时定时备份数据。也可以选择其他选项。
思源笔记配置
以后再水一篇文章吧。