Skip to content

📋 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

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/vaultwarden.sh)"

⏰ Cron Daemon

A cron daemon. This is used to run backup actions on a scheduled basis.

sudo apt install cron

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.

sudo apt install sqlite3

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/.

sudo apt install rclone

☁ 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:

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.

Installation
sudo apt install apprise # bookworm
# or
pipx install apprise # other

Send test email

apprise -vv -t 'my title' -b 'my notification body' 'mailto://email:[email protected]'