View on GitHub

Autobd

autobd is an automated backup daemon.

Download this project as a .zip file Download this project as a tar.gz file

autobd

Stories in Ready Build Status GoDoc

Getting autobd

Golang is required, so get that. Most versions should work but it's probably best to stick with at least 1.4.2 as that's what I'm developing on.

After you have go installed, it's as simple as either cloning the git repo:

git clone https://github.com/tywkeene/autobd

or using go get:

go get github.com/tywkeene/autobd

and to build

$ cd autobd
$ ./build.sh

Getting it running

To run autobd , simply do: ./autobd -config etc/config.toml

Autobd ships with two configuration files, config.toml.server and config.toml.node, to get you started running both

Dockerfile

Autobd ships with two Dockerfiles and the scripts to deploy both server and node containers. You'll of course need docker

scripts/deploy-server.sh

Usage: ./scripts/deploy-server.sh

Removes old autobd-server container, builds a new image, and deploys a new autobd-server container using the arguments:

DATA_DIR="/home/$USER/data/server-data"
SECRET_DIR="/home/$USER/secret"
ETC_DIR="/home/$USER/etc/autobd"
PORT=8080

These variables may be modified to suit your needs.

scripts/deploy-nodes.sh

Usage: ./scripts/deploy-nodes.sh n

Builds new autobd-node images, and deploys n nodes

scripts/kill-nodes.sh

Usage: ./scripts/kill-nodes.sh n

Runs docker rm -ffor n nodes

scripts/setup-network.sh

Usage ./scripts/setup-network.sh

Sets up a docker network for server and nodes to communicate. (I basically just use this testing, may or may not be useful to you)

The API

See API.md

Contributing

Open a pull request or issue with your idea or bug. Really. Anything wrong with anything anywhere, open a ticket and let me know, then we can work on it together :) (Just be sure to check the story board before creating a new ticket)