Sign inSign up

rodriguestiago0/actualbudget-backup

By rodriguestiago0

•Updated about 8 hours ago

Back up Actual Budget to any rclone remote, with notifications

Image
0

50K+

rodriguestiago0/actualbudget-backup repository overview

⁠Actual Budget backup

Backs up Actual Budget⁠ on a schedule to any storage Rclone⁠ supports: S3, Backblaze B2, Google Drive, OneDrive, Dropbox, SFTP, a local folder and many more⁠.

Budgets are downloaded with the official Actual CLI⁠ and saved as zip files that Actual can import directly.

  • Back up several budgets, including end-to-end encrypted ones, to one or more destinations
  • Optional password-protected zip or 7z archives
  • Old backups deleted after a number of days
  • Notifications to Telegram, Discord, ntfy, email and more, and pings to health check services
  • Runs as a Docker container, from a systemd timer, or without Docker

Images are on Docker Hub as rodriguestiago0/actualbudget-backup⁠, tagged latest, by version (v1.2.3) and by major or minor version (v1, v1.2, which follow the newest release), for linux/amd64, linux/arm64, linux/arm/v7 and linux/arm/v6.

Inspired by vaultwarden-backup⁠.


⁠Quick start

You need a running Actual server, and Docker on the machine that runs the backup.

  1. Set up a storage destination with rclone config, naming it ActualBudgetBackup:
    docker run --rm -it \
      --mount type=volume,source=actualbudget-rclone-data,target=/config/ \
      rodriguestiago0/actualbudget-backup:latest \
      rclone config
    
  2. Download compose.yaml⁠ and set ACTUAL_BUDGET_URL, ACTUAL_BUDGET_PASSWORD and ACTUAL_BUDGET_SYNC_ID.
  3. Run one backup to check the configuration, then start the schedule (daily at midnight by default):
    docker compose run --rm backup backup
    docker compose up -d
    

The getting started guide⁠ walks through each step.


⁠Ways to run it

How the schedule runsGuide
Docker Compose (recommended)A container stays running and starts each backup at the CRON timeGetting started⁠
systemd + DockerA systemd timer starts a one-off container; missed backups run at the next bootsystemd⁠
Without DockerA systemd timer runs the script directly on the hostRun without Docker⁠

⁠Documentation


⁠Test your backups

A backup you have never restored is a guess. Every now and then, restore one⁠ into a temporary Actual and check your accounts. It takes a few minutes and doesn't touch your server.


⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:9a4f72b84…

Size

114.1 MB

Last updated

about 8 hours ago

docker pull rodriguestiago0/actualbudget-backup