创建S3数据库同步思源笔记(feat. 如何迁移数据库)

15 5.7~7.4 分钟 2582

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容器

  1. 群晖container manager拉取映像minio/minio,然后点击运行。

  2. 端口设置两个,9000对应数据,9001对应webui。

  3. 挂载数据文件夹。

  4. 新增两个环境变量,管理员MINIO_ROOT_USER,以及管理员密码MINIO_ROOT_PASSWORD ,变量值随意,自己记住就行,密码最好用强密码。

  5. 网络改为host。

  6. 命令处填入minio server /data --console-address :9001 -address :9000,也就是区分端口号的作用,这里端口号要与第2部的端口号保持一致。

  7. 至此容器就可以跑起来了,浏览器里输入http://your-IP:9001 就可以访问了,用户名和密码就是第4步设置的。

创建数据库

  1. 进入miniO后左侧找到bucket选项,点击后选择创建,名称随意,选项默认,创建即可。

  2. 进入设置菜单,设置区域为cn(或者你服务器所在区域),备注为中国,点击保存后会提示重启服务器,暂时不要重启。

  3. 创建数据库访问密钥,如下图,默认就好。

  4. 设置密钥仅能访问指定数据库。在设置好的密钥界面点击密钥后的编辑按钮,在弹出来的界面输入代码,代码的最后位置替换为数据库名称。

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Effect": "Allow",
   "Action": [
    "admin:*"
   ]
  },
  {
   "Effect": "Allow",
   "Action": [
    "kms:*"
   ]
  },
  {
   "Effect": "Allow",
   "Action": [
    "s3:*"
   ],
   "Resource": [
    "arn:aws:s3:::siyuan*"
   ]
  }
 ]
}
  1. 重启服务器,数据库创建完毕。

同步思源笔记

  1. 打开思源笔记设置-云端,按下图设置

其中: endpoint是数据库地址,也就是创建容器的时候http://your-IP:9000这个,不是服务器webui的端口; Access KeySecret Key就是上一步创建数据库的密钥,不是服务器密码;

最后设置里注意选择一下文件夹,其余选项按自己需求选择即可。

数据库的迁移

我完全不懂得使用命令,自己瞎鼓捣的,方法很野,但是用着也没啥问题,不建议按照我的办法。

  1. 原来我的miniO服务器是创建在威联通NAS上的,挂载本地文件夹后在里面可以看到数据库的文件夹,例如我同步的是思源笔记,在docker挂载的数据库里就有我创建的bucket文件夹,例如“siyuan”。

  2. 直接将这个bucket文件夹拷贝到群晖上新建docker挂载的数据库文件夹内,保持与原来同样的位置。

  3. 这时候登录miniO服务器就会发现这个名为siyuan的bucket就已经存在了,观察文件数量及容量与原来一致。

  4. 再按照上述步骤重新创建密钥即可。

  5. 在思源笔记里更改endpointAccess Key以及Secret Key

最后

上述步骤较为简单,记录给自己看的,怕下再要创建这个服务的时候又要到处搜索,如有帮助非常开心。