View the logs of the Caddy container in order to confirm that a Let’s Encrypt certificate has been provisioned for the chosen domain.
Navigate to the chosen domain and verify that the browser renders the Bitwarden web vault login page, and that the page is served over TLS/SSL.
Disable Anonymous User Sign Up
Start a new vaultwarden container, but with the SIGNUPS_ALLOWED environment variable set to false.
Backup Vaultwarden SQLite Database
Encrypted data is stored within a flat file sqlite3 database. In order to reliably backup this data, you should not simply copy the file. Instead, use the sqlite3 .backup command. This command ensures that the database is in a consistent state when the backup is taken.
Install the sqlite3 package, which provides the sqlite3 command for the backup script.
Create a directory for backups.
Create the following systemd service.
This service unit creates a timestamped file and cleans up any backups older than 30 days.
To take an initial backup and verify the systemd service works, start the backup service.
Verify that a backup file is present:
To schedule regular backups using this backup service unit, create the following systemd timer unit.
The Persistent=true line instructs systemd to fire the timer if the timer was unable to trigger at its previous target time. For example, this could happen if the system was being rebooted.
Start and enable this timer unit.
Finally, to view the timer’s next execution time, check the status of the timer.