在本文中,我們將介紹如何使用 MinIO 物件儲存來實現 Obsidian 的同步。MinIO 是一款高效能、開源的物件儲存伺服器,它可以為我們提供可靠的資料儲存和訪問服務。

1. 安裝 MinIO 伺服器

我們可以使用 Docker 來安裝 MinIO 伺服器,執行以下指令碼:

docker run -p 8090:8090 -p 8091:8091 \
-name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /home/chinglin/fastdata/.minio/data:/data \
-v /home/chinglin/fastdata/.minio/config:/root/.minio \
minio/minio server \
/data --console-address ":8090" -address ":8091"

說明:

  • MINIO_ACCESS_KEY(訪問金鑰)和MINIO_SECRET_KEY(秘密金鑰):預設情況下是minioadminminioadmin,並非必須重新設定。
  • 控制台地址8090用於設定整個服務。
  • 地址8091用於訪問檔案,MinIO 用戶端將使用這些埠。

此外,如果希望從外部訪問,例如通過http://server_ip:8090訪問,則應開啟防火牆埠。

2. MinIO 用戶端

可以使用mc自帶用戶端,也可以用rclone。

2.1. 安裝mc

  1. 按照這裡的說明進行安裝。
  2. Mac 用戶端安裝:
    brew install minio/stable/mc
  3. Linux 用戶端安裝:
    dnf install https://dl.minio.org.cn/client/mc/release/linux-amd64/mcli-20230128202938.0.0.x86_64.rpm
    mcli alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD

2.2. 設定

訪問localhost:8090,建立一個名為bucket_name的儲存桶。獲取access_key(訪問金鑰)和access_secret_key(秘密金鑰)。

設定別名:

mc alias set alias_name oss_url access_key access_secret_key

2.3. 基本操作

  1. 列出儲存桶資訊:
    mc ls alias_name/bucket_name
  2. 下載檔案:
    mc cp alias_name/bucket_name/file_name local_path
  3. 上傳檔案:
    mc cp local_path alias_name/bucket_name/
  4. 刪除檔案:
    mc rm alias_name/bucket_name/file_name

3. 為 Obsidian 進行設定並使用 Cloudflare 做反向代理

3.1. 為 Obsidian 進行設定

安裝 Obsidian 的第三方外掛remotely-save。選擇 S3 作為遠端儲存工具。將儲存桶名稱設定為localhost:8091/bucket_name,區域設定為預設值。

3.2. 使用 Cloudflare 做反向代理

Cloudflare 是一個強大的網路服務提供商,可以為我們的 MinIO 服務提供反向代理功能,從而提高訪問的安全性和效能。

  1. 註冊 Cloudflare 賬號並登入。
  2. 新增你的域名,並按照提示進行 DNS 設定,將域名指向你的 MinIO 伺服器的 IP 地址。
  3. 在 Cloudflare 控制面板中,找到“Crypto”選項卡,設定 SSL/TLS 加密為“Full”或“Flexible”,以確保資料傳輸的安全性。
  4. 建立一個新的代理規則,將請求轉發到你的 MinIO 伺服器的地址。例如,如果你的 MinIO 伺服器地址是http://your_minio_server_ip:8091,你可以設定代理規則為將所有請求轉發到這個地址。
  5. 設定快取設定,以提高訪問速度。你可以根據實際情況設定快取時間和快取規則。

通過使用 Cloudflare 做反向代理,我們可以隱藏 MinIO 伺服器的真實 IP 地址,提高安全性。同時,Cloudflare 的全球網路可以加速資料傳輸,提高使用者體驗。

總結

通過安裝 MinIO 伺服器,使用 MinIO 用戶端進行訪問,併為 Obsidian 進行設定,我們可以實現使用 MinIO 物件儲存進行 Obsidian 的同步。這種方案具有高效能、可靠性和靈活性,可以滿足我們的資料儲存和同步需求。

實際中可以根據自己的需求進一步最佳化設定,例如調整儲存桶的權限設定、加密資料等,以提高資料的安全性。同時,我們還可以結合其他工具和技術,如備份策略、監控系統等,確保資料的完整性和可用性。