在本文中,我們將介紹如何使用 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(秘密金鑰):預設情況下是minioadmin和minioadmin,並非必須重新設定。- 控制台地址
8090用於設定整個服務。 - 地址
8091用於訪問檔案,MinIO 用戶端將使用這些埠。
此外,如果希望從外部訪問,例如通過http://server_ip:8090訪問,則應開啟防火牆埠。
2. MinIO 用戶端
可以使用mc自帶用戶端,也可以用rclone。
2.1. 安裝mc
- 按照這裡的說明進行安裝。
- Mac 用戶端安裝:
brew install minio/stable/mc - 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. 基本操作
- 列出儲存桶資訊:
mc ls alias_name/bucket_name - 下載檔案:
mc cp alias_name/bucket_name/file_name local_path - 上傳檔案:
mc cp local_path alias_name/bucket_name/ - 刪除檔案:
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 服務提供反向代理功能,從而提高訪問的安全性和效能。
- 註冊 Cloudflare 賬號並登入。
- 新增你的域名,並按照提示進行 DNS 設定,將域名指向你的 MinIO 伺服器的 IP 地址。
- 在 Cloudflare 控制面板中,找到“Crypto”選項卡,設定 SSL/TLS 加密為“Full”或“Flexible”,以確保資料傳輸的安全性。
- 建立一個新的代理規則,將請求轉發到你的 MinIO 伺服器的地址。例如,如果你的 MinIO 伺服器地址是
http://your_minio_server_ip:8091,你可以設定代理規則為將所有請求轉發到這個地址。 - 設定快取設定,以提高訪問速度。你可以根據實際情況設定快取時間和快取規則。
通過使用 Cloudflare 做反向代理,我們可以隱藏 MinIO 伺服器的真實 IP 地址,提高安全性。同時,Cloudflare 的全球網路可以加速資料傳輸,提高使用者體驗。
總結
通過安裝 MinIO 伺服器,使用 MinIO 用戶端進行訪問,併為 Obsidian 進行設定,我們可以實現使用 MinIO 物件儲存進行 Obsidian 的同步。這種方案具有高效能、可靠性和靈活性,可以滿足我們的資料儲存和同步需求。
實際中可以根據自己的需求進一步最佳化設定,例如調整儲存桶的權限設定、加密資料等,以提高資料的安全性。同時,我們還可以結合其他工具和技術,如備份策略、監控系統等,確保資料的完整性和可用性。