Prerequisites¶
Vaultwarden¶
A standard Unix-like (preferably Linux) host running Vaultwarden.
Note
I'm running this in Proxmox and so I've used the ProxmoxVE community script
Cron Daemon¶
A cron daemon. This is used to run backup actions on a scheduled basis.
Sqlite¶
An sqlite3 binary. This is used to back up the SQLite database. This can be installed via the sqlite3 package on Debian/Ubuntu or the sqlite package on RHEL/CentOS/Fedora.
rclone¶
An rclone binary. This is used to copy the backup archives to cloud storage. This can be installed via the rclone package on Debian/Ubuntu and RHEL/CentOS/Fedora (EPEL required for RHEL/CentOS), but as rclone changes more rapidly, it's probably best to just use the latest binary from https://rclone.org/downloads/.
Cloud Storage¶
An account at one or more cloud storage services supported by rclone. If you don't have one yet, here are a few cloud storage services that offer a free tier:
- Backblaze B2 (10 GB)
- Box (10 GB)
- Cloudflare R2 (10 GB)
- Dropbox (2 GB)
- Google Drive (15 GB)
- Microsoft OneDrive (5 GB)
- Oracle Cloud (10 GB)
I am using Google Drive with the remote named drive.
I am also using a headless server and so I needed to use this method to authenticate.
gpg (optional)¶
gpg (GnuPG 2.x) to encrypt the archive. This can be installed via the gnupg package on Debian/Ubuntu or the gnupg2 package on RHEL/CentOS/Fedora.
age (optional)¶
age to encrypt the archive. This option requires a custom version of the tool that supports reading the passphrase from an environment variable.
apprise (optional)¶
apprise can be used to send notifications with the job status.
Send test email
apprise -vv -t 'my title' -b 'my notification body' 'mailto://email:[email protected]'