Instructions


Configure rclone

docker run --rm -it \
  --mount type=volume,source=vaultwarden-rclone-data,target=/config/ \
  ttionya/vaultwarden-backup:latest \
  rclone config

For Google Drive you can use rclone’s own client ID (which is rate-limited), or you can create your own client ID (Google drive).


Docker Compose

This assumes you use BitwardenBackup as remote name, otherwise change the RCLONE_REMOTE_NAME environment variable to whatever you used. This also assumes you use a volume for the vaultwarden container.

containers/vaultwarden/docker-compose.yml
---
services:
  ...
  
  backup:
    image: ttionya/vaultwarden-backup:latest
    restart: always
    environment:
      RCLONE_REMOTE_NAME=BitwardenBackup
      RCLONE_REMOTE_DIR=/BitwardenBackup/
      CRON=0 3 * * *
      ZIP_ENABLE=true
      ZIP_PASSWORD=<password>
      BACKUP_KEEP_DAYS: 14
      PING_URL=<healthchecks.io link>
      TIMEZONE=Europe/Brussels
    volumes:
      - vaultwarden-data:/bitwarden/data/
      - vaultwarden-rclone-data:/config/
 
volumes:
  vaultwarden-data:
    name: vaultwarden-data
    # external: true # Only necessary if used in different compose file than vaultwarden.
  vaultwarden-rclone-data:
    external: true
    name: vaultwarden-rclone-data

Sources