Skip to content

feat: add generic rclone backup destinations - #4918

Open
jhhjwei wants to merge 1 commit into
Dokploy:canaryfrom
jhhjwei:feat/rclone-backup-destinations
Open

feat: add generic rclone backup destinations#4918
jhhjwei wants to merge 1 commit into
Dokploy:canaryfrom
jhhjwei:feat/rclone-backup-destinations

Conversation

@jhhjwei

@jhhjwei jhhjwei commented Jul 27, 2026

Copy link
Copy Markdown

/claim #416

Summary

Adds a provider-neutral custom rclone destination while preserving the existing S3 flow.

  • adds Custom rclone remote to backup destination settings
  • accepts a named rclone remote such as gdrive: / onedrive: or an on-the-fly connection string such as :sftp,host=example.com,user=alice:
  • supports an optional remote base path
  • reuses the same destination builder for connection tests, database backups, compose backups, web-server backups, and retention cleanup
  • shell-quotes every generated destination argument and redacts passwords, tokens, secrets, and access keys from logs/errors
  • keeps all existing S3 providers and credentials behavior unchanged
  • updates backup logs to say “destination” instead of “S3”
  • fixes the streaming backup path so database dumps are no longer executed twice before upload

This enables Google Drive, OneDrive, FTP, SFTP, and other rclone-supported backends without adding provider-specific database columns.

Validation

  • pnpm --filter @dokploy/server typecheck
  • pnpm --filter dokploy typecheck
  • Biome check on changed files
  • git diff --check

Notes

For OAuth-backed remotes such as Google Drive and OneDrive, a named remote already configured on the Dokploy host can be used. For stateless providers such as FTP and SFTP, an rclone connection string can be supplied directly.

@jhhjwei
jhhjwei requested a review from Siumauricio as a code owner July 27, 2026 02:58
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Jul 27, 2026
@jhhjwei
jhhjwei force-pushed the feat/rclone-backup-destinations branch 2 times, most recently from 3e2ab89 to c130c63 Compare July 27, 2026 03:10

jhhjwei commented Jul 27, 2026

Copy link
Copy Markdown
Author

Implementation and validation are complete. I also added shell-safe quoting for custom rclone targets and credential redaction for connection strings and provider-specific password/token flags.

Both server and app TypeScript checks pass, along with Biome and git diff --check.

The upstream workflow runs currently show action_required, which appears consistent with first-time contributor workflow approval. @Siumauricio, please approve the Actions runs when reviewing this PR. I will address any review feedback directly on this branch.

@jhhjwei
jhhjwei force-pushed the feat/rclone-backup-destinations branch 2 times, most recently from 4591693 to c457361 Compare July 27, 2026 03:16
@jhhjwei
jhhjwei force-pushed the feat/rclone-backup-destinations branch from c457361 to 6f19a9d Compare July 27, 2026 05:32
@jhhjwei
jhhjwei force-pushed the feat/rclone-backup-destinations branch from 6f19a9d to 7dad179 Compare July 27, 2026 06:51

jhhjwei commented Jul 28, 2026

Copy link
Copy Markdown
Author

/claim #416

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant