创建S3数据库同步思源笔记(feat. 如何迁移数据库)
2026年1月19日更新:这篇文章是从我的旧博客搬过来的,内容还是可以用,不过需要注意的是miniO升级后不再支持后台操作界面了,对于普通用户来说不太方便,所以拉取镜像的时候停留在
minio/minio:RELEASE.2025-04-22T22-12-26Z这个版本就好啦。而且推荐使用docker compose部署,更简单直观,compose示例如下:services: minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z container_name: minio command: server /data --console-address ":9001" ports: - 9000:9000 - 9001:9001 volumes: - /volume1/docker/minio/data:/data environment: - MINIO_ROOT_USER=admin #用户名可自行设置 - MINIO_ROOT_PASSWORD=adminpassword #密码可自行设置 restart: always
废话
本文写给自己看的,因为之前在威联通NAS上创建了miniO服务来同步思源笔记,一直用着没啥问题,最近要换到群晖NAS上,于是重新创建了一个容器,结果完全跟忘记之前怎么创建的了,所以记录一下以免以后还需要创建。
如果碰巧对你也有些用处,不胜荣幸。
创建miniO容器
群晖container manager拉取映像
minio/minio,然后点击运行。端口设置两个,
9000对应数据,9001对应webui。
挂载数据文件夹。
.png)
新增两个环境变量,管理员
MINIO_ROOT_USER,以及管理员密码MINIO_ROOT_PASSWORD,变量值随意,自己记住就行,密码最好用强密码。.png)
网络改为host。
.png)
命令处填入
minio server /data --console-address :9001 -address :9000,也就是区分端口号的作用,这里端口号要与第2部的端口号保持一致。.png)
至此容器就可以跑起来了,浏览器里输入
http://your-IP:9001就可以访问了,用户名和密码就是第4步设置的。.png)
创建数据库
进入miniO后左侧找到bucket选项,点击后选择创建,名称随意,选项默认,创建即可。
.png)
进入设置菜单,设置区域为cn(或者你服务器所在区域),备注为中国,点击保存后会提示重启服务器,暂时不要重启。
.png)
创建数据库访问密钥,如下图,默认就好。
.png)
设置密钥仅能访问指定数据库。在设置好的密钥界面点击密钥后的编辑按钮,在弹出来的界面输入代码,代码的最后位置替换为数据库名称。
.png)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"admin:*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::siyuan*"
]
}
]
}重启服务器,数据库创建完毕。
同步思源笔记
打开思源笔记设置-云端,按下图设置
.png)
其中: endpoint是数据库地址,也就是创建容器的时候http://your-IP:9000这个,不是服务器webui的端口; Access Key和Secret Key就是上一步创建数据库的密钥,不是服务器密码;
最后设置里注意选择一下文件夹,其余选项按自己需求选择即可。
数据库的迁移
我完全不懂得使用命令,自己瞎鼓捣的,方法很野,但是用着也没啥问题,不建议按照我的办法。
原来我的miniO服务器是创建在威联通NAS上的,挂载本地文件夹后在里面可以看到数据库的文件夹,例如我同步的是思源笔记,在docker挂载的数据库里就有我创建的bucket文件夹,例如“
siyuan”。直接将这个bucket文件夹拷贝到群晖上新建docker挂载的数据库文件夹内,保持与原来同样的位置。
这时候登录miniO服务器就会发现这个名为
siyuan的bucket就已经存在了,观察文件数量及容量与原来一致。再按照上述步骤重新创建密钥即可。
在思源笔记里更改
endpoint,Access Key以及Secret Key。
最后
上述步骤较为简单,记录给自己看的,怕下再要创建这个服务的时候又要到处搜索,如有帮助非常开心。