Skip to content

thakkaryash94/docker-cockroachdb-backup

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Docker Cockroach DB Backup Build and Push Docker

Features

  • Customize cron with CRON_SCHEDULE env. https://godoc.org/github.com/robfig/cron
  • Manual backup at any time, run curl -X POST http://localhost:9000/backup to take current data backup
  • Optional backup AWS S3/Spaces upload, if you provide ACCESS_KEY_ID, then it will take it as you want backup to uploaded on S3 or Spaces or anywhere compatible with s3 API.
  • All cockroach image env variable support, you can override COCKROACH_USER, COCKROACH_INSECURE etc. docs
  • It exposes /data as volume, which contains backup zip file, so can use backup from here if you are not uploading it to any S3 services.

Environment Variables

Required

Optional

  • ACCESS_KEY_ID: Spaces access key id
  • BUCKET_NAME: Spaces bucket name
  • S3_URL: AWS S3(s3.ap-south-1.amazonaws.com) or DO Spaces(nyc3.digitaloceanspaces.com)
  • SECRET_ACCESS_KEY: Spaces secret access key

Volumes

  • mount backup folder with /data path
  • Run cockroach db using below command
docker run -d \
      --name=roach1 \
      --hostname=roach1 \
      -p 26257:26257 -p 8080:8080  \
      -v "${PWD}/cockroach_data/roach1:/cockroach/cockroach-data"  \
      cockroachdb/cockroach:v19.2.4 start \
      --insecure

Example

docker run -d \
      --name cockroach-backup \
      -v $(pwd)/data:/data \
      -v $(pwd)/cockroach-certs:/cockroach-certs \
      -e ACCESS_KEY_ID=ACCESS_KEY_ID \
      -e BUCKET_NAME=BUCKET_NAME \
      -e S3_URL=S3_URL \
      -e SECRET_ACCESS_KEY=SECRET_ACCESS_KEY \
      -e COCKROACH_DATABASE=COCKROACH_DATABASE \
      -e COCKROACH_HOST=COCKROACH_HOST \
      -e CRON_SCHEDULE="0 0 * * *" \
      -e COCKROACH_INSECURE=true
      -e COCKROACH_USER=root
      docker.pkg.github.com/thakkaryash94/docker-cockroachdb-backup/docker-cockroachdb-backup:latest