Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A simple cron task and webapp for managing your heroku backups
Ruby JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
lib
public
test
views
.gitignore
Gemfile
Gemfile.lock
LICENSE
README.textile
Rakefile
config.ru
hba.rb

README.textile

Heroku Backup Orchestrator

NOTE: HEAD now supports PG Backups. It is a little rough around the edges, but works.

Introduction

HBO makes backing up your Heroku applications easy. It is designed to be Heroku deployable and uses Amazon S3 as the permanent storage for your backups (heroku bundles). Backups are scheduled using the free daily cron addon. HBO also includes a simple web interface for viewing the contents of the S3 bucket where you keep your backups, and for triggering ad-hoc manual backups.

Up and running with HBO

  • Enable the single bundle addon for the application you want to backup (unlimited bundles currently not supported by HBO)
  • Clone the git repo
  • Configure the application by editing the app.yml file in the config directory
  • Add the users that can access the web interface by editing the users.yml file in the config directory
  • Run heroku create in the application root directory
  • Deploy the app: git push heroku master
  • Add the free cron addon to schedule the backup task: heroku addons:add cron:daily

Configuration (config/app.yml)

Heroku
  • app (the app you want to backup)
  • user (the username required to log in to the app)
  • password (the password required to log in to the app)
S3
  • key (your S3 account access key ID)
  • secret (your S3 account secret access key)
  • bucket (the name of the bucket where HBA will store your backups. Make sure it exists, as it will not be created for you)

The HBO web application interface is secured with basic authentication. You should enable SSL to further enhance security.

The browser must have JavaScript enabled to support manual backups.

On the horizon

  • Pri 1: support PG backups instead of bundles (Implemented in HEAD)
  • Manage backups for multiple applications (Implemented in HEAD)
  • Restore a PG backup directly from the web UI
  • Pagination of backup files, as there are bound to be many (Implemented in HEAD)
  • Send mail when backup fails (e.g. using the sendgrid addon or GMail smtp) (Implemented in HEAD – uses SendGrid)
Something went wrong with that request. Please try again.