https://github.com/shebang-labs/dockup
DockUp is a Ruby dockerized backup solution that supports different backends like: S3, Azure blob storage, Google cloud storage, local filesystem, etc.
https://github.com/shebang-labs/dockup
Last synced: 3 months ago
JSON representation
DockUp is a Ruby dockerized backup solution that supports different backends like: S3, Azure blob storage, Google cloud storage, local filesystem, etc.
- Host: GitHub
- URL: https://github.com/shebang-labs/dockup
- Owner: shebang-labs
- License: mit
- Created: 2018-08-03T10:51:11.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-06-07T21:18:28.000Z (about 3 years ago)
- Last Synced: 2025-03-26T08:22:10.212Z (3 months ago)
- Language: Ruby
- Homepage:
- Size: 194 KB
- Stars: 9
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

[](https://circleci.com/gh/shebang-labs/DockUp/tree/master)
[](https://hub.docker.com/r/tareksamni/dockup/)
[](https://hub.docker.com/r/tareksamni/dockup/)
[](https://hub.docker.com/r/tareksamni/dockup/)
[](https://github.com/shebang-labs/DockUp)
[](https://github.com/shebang-labs/DockUp)# Welcome to DockUp
## What's DockUp
DockUp is a Ruby dockerized backup solution that supports different backends like: S3, Azure blob storage, Google cloud storage, local filesystem, etc.
## Supported Backends
Currently DockUp is supporting backups to:
- [Amazon S3](https://aws.amazon.com/s3/)
- [Microsoft Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/)Soon and incrementally we will be adding other backends like Azure blob storage, Google cloud storage and other backends. Feel free to [contribute to DockUp](https://github.com/shebang-labs/DockUp/blob/master/docs/CONTRIBUTING.md) and add more backends.
## Getting Started
Examples here are for AWS S3 backend, other examples for different backends could be found in these links:
- [Run using Docker](https://github.com/shebang-labs/DockUp/blob/master/docs/DOCKER.md)
- [Run using Docker-compose](https://github.com/shebang-labs/DockUp/blob/master/docs/DOCKER-COMPOSE.md)
- [Run on Kubernetes](https://github.com/shebang-labs/DockUp/blob/master/docs/KUBERNETES.md)### Docker example
```bash
docker run \
-e "AWS_ACCESS_KEY_ID=your_aws_key_id" \
-e "AWS_SECRET_ACCESS_KEY=your_aws_secret_key" \
-e "AWS_REGION=eu-west-1" \
-e "AWS_BUCKET=some-bucket-name" \ # this should be unique and valid (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html)
-e "DockUpBackend=s3" \
-e "DockUpSrc=/backup" \
-v some_local_path_to_backup:/backup \ # some_local_path_to_backup could be a folder or file
tareksamni/dockup:latest
```### docker-compose example
```yml
version: '3'
services:
backup:
image: tareksamni/dockup:latest
environment:
- AWS_ACCESS_KEY_ID=your_aws_key_id
- AWS_SECRET_ACCESS_KEY=your_aws_secret_key
- AWS_REGION=eu-west-1
- AWS_BUCKET=some-bucket-name # this should be unique and valid (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.ht
- DockUpBackend=s3
- DockUpSrc=/backup
volumes:
- some_local_path_to_backup:/backup # some_local_path_to_backup could be a folder or file
```### Kubernetes example (Cron Job)
```yml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: backup
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
volumes:
- name: shared-data
emptyDir: {}
containers:
- name: backup
image: tareksamni/dockup:tareksamni
volumeMounts:
- name: shared-data
mountPath: /backup
env:
- name: AWS_ACCESS_KEY_ID
value: "your_aws_key_id"
- name: AWS_SECRET_ACCESS_KEY
value: "your_aws_secret_key"
- name: AWS_REGION
value: "eu-west-1"
- name: AWS_BUCKET
value: "some-bucket-name" # this should be unique and valid(https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.ht
- name: DockUpBackend
value: "s3"
- name: DockUpSrc
value: "/backup"
restartPolicy: OnFailure
```## Contributing
[](https://www.codetriage.com/tareksamni/dockup)
We encourage you to contribute to DockUp! Below you can find our guideline on how to contribute to DockUp. Join us!
Trying to report a possible security vulnerability in DockUp? Please reach out to [tarek.samni](https://twitter.com/tareksamni) before you submit the vulnerability publicly. At DockUp we are committed to do the same with any security vulnerabilities detected in other open source projects during the development of DockUp.
### Ground Rules
- Make sure you are not breaking current test suite!
- Each contribution should include its tests, no code is merged without tests to cover it.
- Keep contributions as small as possible in terms of code change. Open multiple contributions for different parts of DockUp.
- Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
- Check [issues](https://github.com/shebang-labs/DockUp/issues) before you start working on a new feature or a bug to make sure you are not wasting your time/effort on a duplicate contribution.
- Make sure that you contribution works out of the box in a docker environment. Contribute to the docker setup if needed to accommodate your change/contribution.### First Contribution
Follow the dev environment setup and contribution guidelines [here](https://github.com/shebang-labs/DockUp/blob/master/docs/CONTRIBUTING.md).
### Code of Conduct
You can find DockUp's code of conduct [here](https://github.com/shebang-labs/DockUp/blob/master/docs/CODE_OF_CONDUCT.md).
## Code Status
[](https://circleci.com/gh/shebang-labs/DockUp/tree/master)
## License
DockUp is released under the [MIT License](https://opensource.org/licenses/MIT).