mirror of
https://github.com/xzeldon/vwdump.git
synced 2025-06-27 23:08:14 +03:00

- `README` now says which directories require what permissions. - Read permission for `/data` directory. - Read, write and delete permissions for `/backups` directory.
Backs up vaultwarden files and directories to tar.xz
archives automatically. tar.xz
archives can be opened using data compression programs like 7-Zip and WinRAR.
Files and directories that are backed up:
- db.sqlite3
- config.json
- rsa_key.der
- rsa_key.pem
- rsa_key.pub.der
- /attachments
- /sends
Usage
Automatic Backups
Refer to the docker-compose
section below. By default, backing up is automatic.
Manual Backups
Pass manual
to docker run
or docker-compose
as a command
.
docker-compose
services:
vaultwarden:
# Vaultwarden configuration here.
backup:
image: jmqm/vaultwarden_backup:latest
container_name: vaultwarden_backup
volumes:
- /vaultwarden_data_directory:/data:ro # Read-only
- /backup_directory:/backups
- /etc/localtime:/etc/localtime:ro # Container uses date from host.
environment:
- DELETE_AFTER=30
- CRON_TIME=* */24 * * * # Runs at 12:00 AM.
- UID=1024
- GID=100
Volumes
/data
- Vaultwarden's /data
directory. Recommend setting mount as read-only.
/backups
- Where to store backups to.
Environment Variables
⭐Required, 👍 Recommended
Environment Variable | Info |
---|---|
UID ⭐ | User ID to run the cron job as. |
GID ⭐ | Group ID to run the cron job as. |
CRON_TIME 👍 | When to run (default is every 12 hours). Info here and editor here. |
DELETE_AFTER 👍 | Delete backups X days old. (exclusive to automatic mode) |
❗ User must have read permission for /data
directory and read, write and delete permissions for /backups
.
Optional
Environment Variable | Info |
---|---|
TZ ¹ | Timezone inside the container. Can mount /etc/localtime instead as well (recommended). |
CRONFILE | Cron file path relative to inside the container. |
¹ See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for more information
Errors
Unexpected timestamp
Mount etc/localtime
(recommend mounting as read-only) or set TZ
environment variable.
Languages
Shell
94.9%
Dockerfile
5.1%