57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
# abra
|
|
|
|
[![Build Status](https://drone.autonomic.zone/api/badges/autonomic-cooperative/abra/status.svg)](https://drone.autonomic.zone/autonomic-cooperative/abra)
|
|
|
|
Docker stack magic 🎩🐇
|
|
|
|
## Install
|
|
|
|
```sh
|
|
curl -fsSL https://install.abra.autonomic.zone | bash
|
|
```
|
|
|
|
Specific releases are available via the project [release page](https://git.autonomic.zone/autonomic-cooperative/abra/releases).
|
|
|
|
## Changes
|
|
|
|
See [CHANGELOG.md](./CHANGELOG.md).
|
|
|
|
## Hacking
|
|
|
|
```sh
|
|
git clone ssh://git@git.autonomic.zone:2222/autonomic-cooperative/abra.git
|
|
cd abra
|
|
make dev_install
|
|
```
|
|
|
|
See [autonomic-cooperative/installer-scripts](https://git.autonomic.zone/autonomic-cooperative/installer-scripts) for the installer script deployment. To make a release, just add an entry to [CHANGELOG.md](./CHANGELOG.md) and bump the version in [abra-installer](./script.d/abra-installer) (following [semver](https://semver.org/) please) and then `git tag x.x.x && git push origin main --tags`. If you want the [installer-scripts](https://git.autonomic.zone/autonomic-cooperative/installer-scripts) deployment to pick that up, you'll need to change the version number in the [Makefile](https://git.autonomic.zone/autonomic-cooperative/installer-scripts/src/branch/main/Makefile) and run `make` in that repository and push the changes.
|
|
|
|
## Specify what to deploy where
|
|
|
|
You can use `abra` in one of 2 ways:
|
|
|
|
1. Clone a `compose-stack`, create an `.envrc` in it, and run `abra` in that
|
|
directory. Be sure to set `ABRA_STACK_DIR=.`
|
|
2. "Monorepo mode": keep all your `compose-stack`s in one directory and all your `env` files in
|
|
another, e.g.:
|
|
```
|
|
$ tree
|
|
.
|
|
├── apps
|
|
│ ├── mediawiki.demo.autonomic.zone.env
|
|
│ ├── wordpress.demo.autonomic.zone.env
|
|
└── stacks
|
|
├── gitea
|
|
├── matrix-synapse
|
|
├── mediawiki
|
|
├── nextcloud
|
|
├── swarmpit
|
|
├── traefik
|
|
└── wordpress
|
|
$ abra -e apps/mediawiki.demo.autonomic.zone.env deploy
|
|
```
|
|
|
|
## Examples
|
|
|
|
- `abra run mariadb mysqldump gitea -p'GdIbMeS09SURRktBnm3jcTufsL5z0MPd' | gzip > ../git.autonomic.zone_mariadb_`date +%F`.sql.gz`
|