Skip to content

DockUp is a Ruby dockerized backup solution that supports different backends like: S3, Azure blob storage, Google cloud storage, local filesystem, etc.

License

Notifications You must be signed in to change notification settings

shebang-labs/DockUp

Repository files navigation

DockUp

CircleCI Docker Pulls Docker Stars Docker Layers GitHub GitHub top language

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:

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 and add more backends.

Getting Started

Examples here are for AWS S3 backend, other examples for different backends could be found in these links:

Docker example

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

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)

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

Open Source Helpers

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 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 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.

Code of Conduct

You can find DockUp's code of conduct here.

Code Status

CircleCI

License

DockUp is released under the MIT License.

About

DockUp is a Ruby dockerized backup solution that supports different backends like: S3, Azure blob storage, Google cloud storage, local filesystem, etc.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •