I would like to backup my vaultwarden with ttionya/vaultwarden-backup. I found the linked docker-compose-file but it does not work in my case.
I just learnt - thanks to u/this_is_router and u/inner - that i store my vaultwarden-data in a local folder in the compose-directory, so in my case the dopcker compose looks like this:
services:
vaultwarden:
image: vaultwarden/server:latest
restart: always
# environment:
# SIGNUPS_ALLOWED: 'false'
# ADMIN_TOKEN: 'your authentication token'
ports:
- '127.0.0.1:8200:80'
volumes:
- ./vaultwarden:/data/
backup:
image: ttionya/vaultwarden-backup:latest
restart: always
# environment:
# RCLONE_REMOTE_NAME: 'BitwardenBackup'
# RCLONE_REMOTE_DIR: '/BitwardenBackup/'
# RCLONE_GLOBAL_FLAG: ''
# CRON: '5 * * * *'
# ZIP_ENABLE: 'TRUE'
# ZIP_PASSWORD: 'WHEREISMYPASSWORD?'
# ZIP_TYPE: 'zip'
# BACKUP_FILE_SUFFIX: '%Y%m%d'
# BACKUP_KEEP_DAYS: 0
# PING_URL: ''
# MAIL_SMTP_ENABLE: 'FALSE'
# MAIL_SMTP_VARIABLES: ''
# MAIL_TO: ''
# MAIL_WHEN_SUCCESS: 'TRUE'
# MAIL_WHEN_FAILURE: 'TRUE'
# TIMEZONE: 'UTC'
volumes:
- ./vaultwarden:/bitwarden/data/
- ./vaultwarden-rclone-data:/config/
# - /path/to/env:/.env
volumes:
vaultwarden-data:
# Specify the name of the volume where you save the vaultwarden data,
# use vaultwarden-data for new users
# and bitwardenrs-data for migrated users
name: vaultwarden-data
vaultwarden-rclone-data:
external: true
# Specify the name of the volume where you save the rclone configuration,
# use vaultwarden-rclone-data for new users
# and bitwardenrs-rclone-data for migrated users
name: vaultwarden-rclone-data
EDIT: Now it runs! I just had to edit the folders. Edited the docker-compose.yml above. Thanks…
Based on the vaultwarden wiki, the default DB engine is SQLite. Therefore, all the data is in the sqlite file(s) contained in your data volume. This backup utility seems to take that into account and only focuses on the data volume.
Make sure the SQL server is not writing/blocking any files:
docker-compose stop vaultwarden
Backup that specific folder to another destination and restart
docker-compose up -d
Thank you. Had to edit the folders. Not the stack was “successfully deployed”. Have to watch now if the backup works.
You just need to add the vaultwarden backup service to the same docker-compose file as vaultwarden, and give it the same mount point but
:ro
for read only.You’d need to post your complete docker-compose.yaml, otherwise nobody knows what you’re doing.
Also (and I don’t want to sound rude) you should probably start learning docker with a less critical service. If you just learned how volumes work you should not store your passwords in one. Yet.
No problem. I use vaultwarden for years. In this case I am not really worried about data-loss because bitwarden keeps an copy of your credentials offline. So in the worst case, i can export them.
I would like to post it, but i have issues with formatting. voyager does not have this “code-format” and writes everything in one line.
Is there a workaround?
You just use three backticks to start and end a code block, it’s just markdown.
e.g.
version: '3.4' services: vaultwarden: image: vaultwarden/server:latest restart: always # environment: # SIGNUPS_ALLOWED: 'false' # ADMIN_TOKEN: 'your authentication token' ports: - '127.0.0.1:8200:80' volumes: - vaultwarden-data:/data/ ...
That’s it. Nice. I tried ’ instead of `, so the 2nd useful thing i learnd today. Thanks.
Where do you have that data directory on disk? It’s likely not where portainer is looking. Your options are to move it to where portainer is expecting or to use the absolute path to the data directory to the left of the colon for the volume mapping.
For example, I put all my docker compose files in
/opt/docker/vaultwarden
so if my data were next to it I would use/opt/docker/vaultwarden/vaultwarden-rclone-data:/config/
I don’t recall the path where portainer looks but it’s going to be wherever you have its docker-compose. I can help you find it if that’s the route you’d like to take, but I won’t be able to help with that for a few hours.
AI GENERATED:
The ttionya/vaultwarden-backup tool is intended to work with Docker volumes. However, you are using a bind mount, not a named volume. Bind mounts refer to the use of local folders to store data, as in your case (./vaultwarden:/data/), while volumes create a specific place within Docker’s own filesystem for the data.
Although this tool is designed for volumes, it might still work with bind mounts if the backup container can access the data directory. You would need to modify the volume line in the Docker Compose file for the backup tool to point to the directory where your bind mount is located, i.e., to point it to your local ./vaultwarden directory.
So, you might want to adjust your docker-compose.yml file like this:
services: vaultwarden-backup: image: ttionya/vaultwarden-backup:latest container_name: vaultwarden-backup environment: - PUID=1000 - PGID=1000 - BACKUP_INTERVAL=12h - PRUNE_BACKUPS=7D volumes: - ./vaultwarden:/vaultwarden:ro - ./backups:/backups restart: unless-stopped
In this configuration, ./vaultwarden:/vaultwarden:ro line is the key. It mounts your local ./vaultwarden directory to /vaultwarden inside the backup container (readonly mode), which should allow the backup tool to access the data.