Profile
Back to NewsBack
GitHub Trending 3 min
Reader Mode
offen/docker-volume-backup: Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive or SSH compatible storage

offen/docker-volume-backup: Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive or SSH compatible storage

4 hours ago

offen.software logo

docker-volume-backup

Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive or SSH compatible storage.

The offen/docker-volume-backup Docker image can be used as a lightweight (below 25MB) companion container to an existing Docker setup. It handles __recurring or one-off backups of Docker volumes__ to a __local directory__, __any S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive or SSH compatible storage (or any combination thereof) and rotates away old backups__ if configured. It also supports __encrypting your backups using GPG__ and __sending notifications for (failed) backup runs__.

Documentation is found at - Quickstart - Configuration Reference - How Tos - Recipes


Quickstart

Recurring backups in a compose setup

Add a backup service to your compose setup and mount the volumes you would like to see backed up:

services:
  volume-consumer:
    build:
      context: ./my-app
    volumes:
      - data:/var/my-app
    labels:
      # This means the container will be stopped during backup to ensure
      # backup integrity. You can omit this label if stopping during backup
      # not required.
      - docker-volume-backup.stop-during-backup=true

backup: # In production, it is advised to lock your image tag to a proper # release version instead of using latest. # Check https://github.com/offen/docker-volume-backup/releases # for a list of available releases. image: offen/docker-volume-backup:latest restart: always env_file: ./backup.env # see below for configuration reference volumes: - data:/backup/my-app-backup:ro # Mounting the Docker socket allows the script to stop and restart # the container during backup. You can omit this if you don't want # to stop the container. In case you need to proxy the socket, you can # also provide a location by setting DOCKER_HOST in the container - /var/run/docker.sock:/var/run/docker.sock:ro # If you mount a local directory or volume to /archive a local # copy of the backup will be stored there. You can override the # location inside of the container by setting BACKUP_ARCHIVE. # You can omit this if you do not want to keep local backups. - /path/to/local_backups:/archive volumes: data:

One-off backups using Docker CLI

To run a one time backup, mount the volume you would like to see backed up into a container and run the backup command:

docker run --rm \
  -v data:/backup/data \
  --env AWS_ACCESS_KEY_ID="<xxx>" \
  --env AWS_SECRET_ACCESS_KEY="<xxx>" \
  --env AWS_S3_BUCKET_NAME="<xxx>" \
  --entrypoint backup \
  offen/docker-volume-backup:v2

Alternatively, pass a --env-file in order to use a full config as described in the docs.

Looking for help?

In case your are looking for help or guidance on how to incorporate docker-volume-backup into your existing setup, consider becoming a sponsor and book a one hour consulting session.


Copyright © 2026 offen.software and contributors. Distributed under the MPL-2.0 License.

Chat with me