跳轉至

Rclone

簡介

Rclone 是一個命令列程式,用於將檔案同步到各種雲端儲存服務,包括 Nextcloud、Google Drive、S3 等。它支援多種協定,尤其擅長透過 WebDAV 與私有雲整合。在 Self-host 自架 Obsidian 的架構中,Rclone 常被用作「同步旁車」容器,將雲端上的筆記拉取到本地,供其他服務(如 Quartz)讀取。

安裝與設定

Rclone 提供原生 ARM64 的 Docker 映像檔,可直接執行:

docker run --rm rclone/rclone obscure "您的密碼"

此指令會將明文密碼加密成一串亂碼,用於後續設定檔。Rclone 的設定檔(rclone.conf)可定義遠端儲存,例如 Nextcloud WebDAV:

[nextcloud]
type = webdav
url = http://nextcloud-app/remote.php/webdav/
vendor = nextcloud
user = <帳號>
pass = <加密密碼>

使用範例

Oracle 私有雲 環境中,Rclone 常用於單向同步。以下指令每 60 秒執行一次,將 Nextcloud 上的 ObsidianVault 同步到本地 /vault

rclone sync nextcloud:ObsidianVault /vault -v

配合 Docker Compose,可以將 Rclone 包裝為 sidecar 容器,與 Quartz 等服務共用網路與磁碟:

rclone-sync:
  image: rclone/rclone:latest
  container_name: quartz_rclone_sync
  networks: [cf_network]
  volumes:
    - /opt/docker/quartz/config:/config/rclone:ro
    - /opt/docker/quartz/vault:/vault
  command: sh -c "while true; do rclone sync nextcloud:ObsidianVault /vault -v; sleep 60; done"

在 Docker 中使用

Rclone 官方映像檔(rclone/rclone)支援多種架構,非常適合部署在 docker 容器中。與 cloudflare-tunnelcloudflare-pages 搭配時,可將同步後的靜態檔案交由雲端服務建置,達成零維護架構。

安全性考量

  • 勿使用主要密碼,應建立 Nextcloud 應用程式密碼,並用 rclone obscure 加密。
  • 盡量透過 Docker 內部網路(如 cf_network)連線 WebDAV,避免暴露外網。
  • 同步目錄掛載為唯讀,避免污染雲端資料。

相關條目

Sources

See Also