Installation
Binary
Download the latest release for your OS and architecture from GitHub and unpack it.
Alternatively, you can copy the gickup binary to a directory from your $PATH variable, to use it globally.
Create a configuration file before running the binary. If you omit the filename, Gickup reads conf.yml from the working directory.
Linux/Mac
./gickup conf.yml
Windows
gickup.exe conf.yml
Command-line options
| Option | Behavior |
|---|---|
--version | Print the version and exit. |
--dryrun | Discover repositories and report backup operations without performing destination backups. Still contacts source APIs. |
--debug | Include debug messages. |
--quiet | Limit stderr logging to warnings, errors, and fatal messages. |
--silent | Suppress stderr logging. |
./gickup --dryrun conf.yml
./gickup --debug conf.yml
Docker
You can grab the latest version of gickup from GitHub or Docker.
Pure Docker
docker pull buddyspencer/gickup # or ghcr.io/cooperspencer/gickup
docker run -d \
-v /path/to/conf.yml:/gickup/conf.yml:ro \
-v /path/to/backups:/backups \
-e TZ=Europe/Vienna \
buddyspencer/gickup
Set destination.local.path to /backups when using this mount. Pass any credential environment variables used by your configuration with -e VARIABLE_NAME. Without cron, the container exits after one backup run. The repository Docker image includes Git and Git LFS.
Docker Compose
If you prefer to use docker compose, grab the docker-compose.yml from the repository.
docker compose up -d
Compile it yourself
If you want to use the latest version of the main branch, you can also compile it yourself.
Prerequisites:
git clone https://github.com/cooperspencer/gickup
cd gickup
go build .