{"name":"docker-volume-backup: Robust Docker Volume Backups to Multiple Storages","description":"docker-volume-backup is a lightweight companion container designed for robust Docker volume backups. It handles recurring or one-off backups to various destinations like S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive, or SSH, and includes features like encryption and old backup rotation. This tool ensures your Docker data is safely stored and easily recoverable.","github":"https://github.com/offen/docker-volume-backup","url":"https://osrepos.com/repo/offen-docker-volume-backup","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/offen-docker-volume-backup","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/offen-docker-volume-backup.md","json":"https://osrepos.com/repo/offen-docker-volume-backup.json","topics":["backup","docker","docker-volume","s3","ssh","webdav","Go","devops"],"keywords":["backup","docker","docker-volume","s3","ssh","webdav","Go","devops"],"stars":null,"summary":"docker-volume-backup is a lightweight companion container designed for robust Docker volume backups. It handles recurring or one-off backups to various destinations like S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive, or SSH, and includes features like encryption and old backup rotation. This tool ensures your Docker data is safely stored and easily recoverable.","content":"## Introduction\n\ndocker-volume-backup is an essential tool for anyone managing Docker environments. It provides a flexible and lightweight solution, packaged as a Docker image (below 25MB), for backing up Docker volumes. Whether you need to store backups locally or leverage cloud storage providers, this tool offers comprehensive support for S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive, and SSH compatible storage.\n\nKey features include recurring or one-off backup capabilities, rotation of old backups, GPG encryption for enhanced security, and notifications for backup run statuses.\n\n## Installation\n\nTo integrate `docker-volume-backup` into your Docker setup, the simplest way is to use its official Docker image. It can be added as a companion container to your existing Docker Compose setup or run as a standalone command for one-off backups.\n\nFor production environments, it is recommended to pin your image tag to a specific release version instead of `latest` to ensure stability.\n\n## Examples\n\n### Recurring backups in a Compose setup\n\nAdd a `backup` service to your `docker-compose.yml` and mount the volumes you wish to back up. This example also demonstrates how to stop a container during backup for data integrity and how to store local copies.\n\nyml\nservices:\n  volume-consumer:\n    build:\n      context: ./my-app\n    volumes:\n      - data:/var/my-app\n    labels:\n      # This means the container will be stopped during backup to ensure\n      # backup integrity. You can omit this label if stopping during backup\n      # not required.\n      - docker-volume-backup.stop-during-backup=true\n\n  backup:\n    # In production, it is advised to lock your image tag to a proper\n    # release version instead of using `latest`.\n    # Check https://github.com/offen/docker-volume-backup/releases\n    # for a list of available releases.\n    image: offen/docker-volume-backup:latest\n    restart: always\n    env_file: ./backup.env # see below for configuration reference\n    volumes:\n      - data:/backup/my-app-backup:ro\n      # Mounting the Docker socket allows the script to stop and restart\n      # the container during backup. You can omit this if you don't want\n      # to stop the container. In case you need to proxy the socket, you can\n      # also provide a location by setting `DOCKER_HOST` in the container\n      - /var/run/docker.sock:/var/run/docker.sock:ro\n      # If you mount a local directory or volume to `/archive` a local\n      # copy of the backup will be stored there. You can override the\n      # location inside of the container by setting `BACKUP_ARCHIVE`.\n      # You can omit this if you do not want to keep local backups.\n      - /path/to/local_backups:/archive\nvolumes:\n  data:\n\n\n### One-off backups using Docker CLI\n\nFor a single backup operation, you can use the Docker CLI. Mount the target volume and provide the necessary environment variables for your chosen storage backend.\n\nconsole\ndocker run --rm \\\n  -v data:/backup/data \\\n  --env AWS_ACCESS_KEY_ID=\"<xxx>\" \\\n  --env AWS_SECRET_ACCESS_KEY=\"<xxx>\" \\\n  --env AWS_S3_BUCKET_NAME=\"<xxx>\" \\\n  --entrypoint backup \\\n  offen/docker-volume-backup:v2\n\n\nAlternatively, you can pass an `--env-file` with your full configuration.\n\n## Why Use It?\n\n`docker-volume-backup` stands out due to its versatility and robust feature set:\n\n*   **Multi-Storage Support**: Backup to local directories, S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive, or SSH, offering unparalleled flexibility.\n*   **Lightweight**: The Docker image is small, ensuring minimal overhead in your environment.\n*   **Data Integrity**: Option to stop containers during backup to guarantee consistent data snapshots.\n*   **Security**: Supports GPG encryption for your backups, protecting sensitive data.\n*   **Automation**: Easily configure recurring backups and automatic rotation of old backups.\n*   **Notifications**: Stay informed with notifications for successful or failed backup runs.\n\n## Links\n\n*   **GitHub Repository**: [https://github.com/offen/docker-volume-backup](https://github.com/offen/docker-volume-backup){:target=\"_blank\"}\n*   **Documentation**: [https://offen.github.io/docker-volume-backup](https://offen.github.io/docker-volume-backup){:target=\"_blank\"}\n*   **Configuration Reference**: [https://offen.github.io/docker-volume-backup/reference/](https://offen.github.io/docker-volume-backup/reference/){:target=\"_blank\"}","metrics":{"detailViews":2,"githubClicks":7},"dates":{"published":null,"modified":"2026-04-23T16:16:33.000Z"}}