思源笔记多端同步方案:Docker MinIO + Siyuan-unlock

思源笔记多端同步方案:Docker MinIO + Siyuan-unlock


1. 需求背景

思源笔记功能强大,有多端 PC 使用需求,但官方同步需付费 78 元。本方案仅需一台服务器即可实现免费同步。

适用人群:

  • 拥有一台服务器
  • 多台 PC 需要同步

2. 系统架构

核心组件:

  • MinIO:开源 S3 对象存储
  • Siyuan-unlock:支持自定义 S3 同步

架构: 多个 PC 端 ↔ MinIO Server ↔ 数据存储


3. 实现步骤

3.1 部署 MinIO

docker-compose.yml:

version: '3.8'

services:
  minio:
    image: minio/minio:RELEASE.2023-03-20T20-16-18Z
    container_name: minio
    restart: unless-stopped
    command: server /data --console-address ":9001"
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      MINIO_ROOT_USER: minioadmin           # 改成你的用户名
      MINIO_ROOT_PASSWORD: minioadmin          # 改成你的密码
      MINIO_SERVER_URL: http://<ServerIP>:<Port>  # 改成你的服务器IP
    volumes:
      - minio_data:/data
      - minio_config:/root/.minio
    ports:
      - "9000:9000"              # API 端口
      - "127.0.0.1:9001:9001"   # 控制台(仅本地访问)
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  minio_data:
  minio_config:

networks:
  default:
    name: siyuan-network

启动

docker-compose up -d

3.2 安装 MinIO Client (mc)

# 下载 mc 客户端
wget https://dl.min.io/client/mc/release/linux-amd64/mc

# 赋予执行权限
chmod +x mc

# 移动到系统路径
sudo mv mc /usr/local/bin/

# 创建软链接(可选)
sudo ln -s /usr/local/bin/mc /usr/bin/mc

# 验证安装
mc --version

3.3 配置 MinIO

# 配置 MinIO 别名(连接信息)
mc alias set myminio http://<ServerIP>:9000 minioadmin minioadmin

# 验证连接
mc admin info myminio

# 创建存储桶
mc mb myminio/notes-sync

# 查看存储桶列表
mc ls myminio

权限配置(按需选择):

# 方案1:公开访问(不推荐,数据无保护)
mc anonymous set public myminio/notes-sync

# 方案2:私有访问(推荐)
mc anonymous set private myminio/notes-sync

# 查看当前权限
mc anonymous get myminio/notes-sync

3.4 配置思源笔记

在思源笔记中:设置云端S3 配置

Endpoint:         http://<ServerIP>:9000
Access Key:       minioadmin
Secret Key:       minioadmin
Bucket:           notes-sync
Region:           us-east-1

点击启用 自动同步,在关于-数据仓库密钥,设置数据库秘钥,即可启用同步;

3.5 防火墙配置

# 开放 MinIO API 端口 使用 ufw
sudo ufw allow 9000/tcp

4. 常用管理命令

# 查看存储桶内容
mc ls myminio/notes-sync

# 查看存储桶使用情况
mc du myminio/notes-sync

# 备份数据(下载到本地)
mc mirror myminio/notes-sync ./backup

# 删除存储桶(危险操作)
mc rb --force myminio/notes-sync

# 查看 MinIO 服务状态
docker logs -f minio

# 重启 MinIO
docker restart minio

5. 故障排查

# 检查容器状态
docker ps | grep minio

# 查看详细日志
docker logs minio --tail 100

# 测试端口连通性
curl http://<ServerIP>:9000/minio/health/live

# 重置连接
mc alias remove myminio
mc alias set myminio http://<ServerIP>:9000 minioadmin minioadmin
posted @ 2025-10-29 19:20  生产队的扛把子  阅读(142)  评论(0)    收藏  举报