Obsidian 多端同步终极方案:群晖 + MinIO,告别同步错误的烦恼!

前言:
Obsidian 虽好,但同步一直是个大坑。尝试过 OneDrive(慢)、WebDAV(坚果云有文件数量限制)、OpenList(偶尔报错)。最终发现,自建 MinIO 对象存储 配合 S3 协议 才是最稳、最快的方案。今天手把手教你在群晖 Docker 上搭建一套私有云同步服务。
第一步:搭建 MinIO 服务
-
准备文件夹:打开群晖 File Station,在 Docker 共享文件夹下创建 minio 文件夹。在其中分别创建两个子文件夹:data(存数据)和 config(存配置)。
-
结构示例:
/volume1/docker/minio/data -
部署容器(Docker Compose):打开 Container Manager(或 Portainer),使用“项目”功能,新建 docker-compose.yml,代码如下:
version: '3.8'
services:
minio:
image: minio/minio:latest
container_name: minio-server
restart: always
# 端口映射:左边是群晖端口,右边是容器端口
ports:
- "9000:9000" # S3 API 端口 (Obsidian/Lucky 连这个)
- "9001:9001" # Web 控制台端口 (浏览器管理连这个)
environment:
# 设置管理员账号(自定义)(同时也是你的 Root Access Key)
MINIO_ROOT_USER: admin
# 设置管理员密码(至少8位)(同时也是你的 Root Secret Key,请修改!)
MINIO_ROOT_PASSWORD: ChangeYourStrongPassword123
volumes:
# 数据存储位置(在 docker-compose.yml 同级目录下自动创建 data 文件夹)
- ./data:/data
# 配置文件位置(建议持久化,防止重启丢失配置)
- ./config:/root/.minio
# 启动命令(必须包含 --console-address,否则网页进不去)
command: server /data --console-address ":9001"第二步:MinIO 初始化配置
-
登录控制台:浏览器访问 http://你的群晖IP:9001。使用刚才 yaml 文件中设置的账号密码登录。
-
创建存储桶(Bucket):点击左侧菜单 Buckets -> Create Bucket。输入名称(例如 obsidian-sync),其他保持默认,点击创建。
-
删除存储桶(Bucket)的话,直接去
data删除对应的文件夹就行了。❝这里安装的储存空间都是私有的,因为这个是社区版本,不是商业版,所以也就只能使用MINIO_ROOT_USER和MINIO_ROOT_PASSWORD作为Key。当然了,还有第二种方式就是使用minio/mc命令行工具创建密钥,我不会所以也没去尝试。
第三步:Obsidian 插件配置
在 Obsidian 中下载并启用 Remotely Save 插件(社区插件市场搜索即可)。
配置参数如下:
-
远程服务类型:选择
S3 或兼容 S3 的服务 -
服务地址 (Endpoint):
http://你的群晖IP:9000 -
注意:如果在公网环境,请填写反代后的域名或公网IP。
-
区域 (Region):
zh-cn或留空(MinIO 默认并不强制我随便写的,但填标准格式更稳)。 -
Access Key ID:填入第二步中获取的 Access Key。
-
Secret Access Key:填入第二步中获取的 Secret Key。
-
存储桶名字:填入你创建的 Bucket 名称(如
obsidian-sync)。 -
S3 URL style:必须选择
Path-Style(这点非常重要,选错无法连接)。❝我修改的都列在上面了,没列的自行根据实际情况修改吧,反正只要能用就行。
第四步:验证与同步
点击插件设置下方的“检查连接”,如果显示连接成功,恭喜你!
现在可以在 iOS 或其他端进行同样的设置。只要手机能连接到群晖(局域网或内网穿透),就能实现秒级同步。
为什么推荐这个方案?
-
快:局域网内几乎是瞬时同步。
-
稳:S3 协议专门为对象存储设计,处理大量小文件比 WebDAV 更不容易出错。
-
私有:数据完全掌握在自己手里,不用担心第三方服务关停。