https://github.com/adamkoro/docker-volume-backup-s3
Backup docker volumes to S3
https://github.com/adamkoro/docker-volume-backup-s3
backup docker docker-image minio s3 s3-backup
Last synced: about 2 months ago
JSON representation
Backup docker volumes to S3
- Host: GitHub
- URL: https://github.com/adamkoro/docker-volume-backup-s3
- Owner: adamkoro
- License: mit
- Created: 2023-03-16T20:26:35.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-09T15:03:01.000Z (over 1 year ago)
- Last Synced: 2025-07-31T16:41:12.699Z (11 months ago)
- Topics: backup, docker, docker-image, minio, s3, s3-backup
- Language: Shell
- Homepage: https://hub.docker.com/r/adamkoro/docker-volume-backup
- Size: 47.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# docker-volume-backup-s3
[](https://drone.adamkoro.com/adamkoro/docker-volume-backup-s3)





Simple docker volume backup to S3.
Create tar.gz file from docker volume and upload it to S3.
This image is only for backup. It doesn't have any restore functionality.
## Docker images
Dockerhub: https://hub.docker.com/r/adamkoro/docker-volume-backup
### Tags
- latest: Latest builded image
- Commit hashes: If you need you can use specific image via commit hash
- Tags: These are the version of the script
## Environment Variables
| Variable | Description | Default |
| --- | --- | --- |
| `S3_BUCKET` | S3 bucket name | `backup` |
| `S3_ENDPOINT` | S3 endpoint | `empty` |
| `S3_ACCESS_KEY` | S3 access key | `empty` |
| `S3_SECRET_KEY` | S3 secret key | `empty` |
| `S3_REGION` | S3 region | `empty` |
| `S3_SSL` | S3 ssl usage | `true` |
| `BACKUP_NAME` | Name of the tar.gz file | `backup` |
| `NUMBER_OF_BACKUPS` | Number of the files in keep | `2` |
## Usage
**IMPORTANT**: You need to mount volume with backup files to `/backup` directory. Make sure mounted `read-only` mode.
Backup file name: `BACKUP_NAME_YYYY-MM-DD-HH-MM-SS.tar.gz` that's why you have to set `BACKUP_NAME` environment variable.
### Docker
```bash
docker run --rm -it -v /backup/:/backup -e S3_BUCKET=backup -e S3_ENDPOINT=minio.server.local -e S3_ACCESS_KEY=test -e S3_SECRET_KEY=test -e S3_REGION=home -e S3_SSL=true -e BACKUP_NAME=test-backup docker.io/adamkoro/docker-volume-backup:latest
```
### Docker Compose
```yaml
version: '3.7'
services:
backup:
image: docker.io/adamkoro/docker-volume-backup:latest
volumes:
- docker-tmp-backup/:/backup:ro
environment:
- S3_BUCKET=backup
- S3_ENDPOINT=minio.server.local
- S3_ACCESS_KEY=test
- S3_SECRET_KEY=test
- S3_REGION=home
- S3_SSL=true
- BACKUP_NAME=backup
volumes:
docker-tmp-backup:
```