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…

  • HybridSarcasm@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    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.

  • easeKItMAn@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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

  • moddy@feddit.deOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Thank you. Had to edit the folders. Not the stack was “successfully deployed”. Have to watch now if the backup works.

  • MangoPenguin@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

  • doeknius_gloek@feddit.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

    • moddy@feddit.deOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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?

      • obosob@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        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/ 
        ...
        
        • moddy@feddit.deOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          That’s it. Nice. I tried ’ instead of `, so the 2nd useful thing i learnd today. Thanks.

  • skadden@ctrlaltelite.xyz
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

  • LachlanUnchained@lemmyunchained.net
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    9
    ·
    edit-2
    1 year ago

    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.