forked from MIR/garage
57 lines
2.2 KiB
Markdown
57 lines
2.2 KiB
Markdown
# garage
|
|
|
|
> An open-source distributed object storage service tailored for selfhosting at a small-to-medium scale.
|
|
|
|
<!-- metadata -->
|
|
|
|
* **Category**: Apps
|
|
* **Status**: wip
|
|
* **Image**: [`garage`](https://hub.docker.com/r/dxflrs/garage), 4, upstream
|
|
* **Healthcheck**: No
|
|
* **Backups**: No
|
|
* **Email**: No
|
|
* **Tests**: No
|
|
* **SSO**: No
|
|
|
|
<!-- endmetadata -->
|
|
|
|
## Quick start
|
|
|
|
* `abra app new garage`
|
|
* Garage is particular about the rpc secret, generate it locally with `openssl rand -hex 32` then insert the result
|
|
* `abra app secret i <app-domain> rpc_secret v1 <rpc-secret>`
|
|
> Note: all nodes must share the same rpc secret, do not lose this value if you plan to cluster garage!
|
|
* `abra app config <app-domain>`
|
|
* `abra app deploy <app-domain>`
|
|
|
|
## Peering
|
|
|
|
#### Garage CLI
|
|
Start by creating an alias for the abra run command
|
|
```
|
|
alias garage="abra app run <app-domain> app /garage"
|
|
```
|
|
Run `garage status` to verify everything is working
|
|
|
|
#### Assign Roles
|
|
|
|
Terms:
|
|
* `node id` (reqired) - Node identifier supplied by the garage CLI, can be found by running `garage node id`.
|
|
* `zone` (reqired) - Identifier for how nodes will be grouped, a zone usually refers to a geographical location (us-east, paris-1, etc.) no specific syntax is required, zones can be called anything.
|
|
* `capacity` (reqired) - Disk space the node will be allocating to the cluster, use T and G for units (Terabytes and Gigabytes respectively).
|
|
* `tag` (optional) - Additional notes appended to garage status, usually a title for the node.
|
|
|
|
> Role assignment command conflicts with `abra app run`'s -t option\
|
|
> Connecting not currently implemented
|
|
|
|
## Backups
|
|
|
|
> Not currently implemented
|
|
|
|
Backups will only capture a snapshot of the metadata directory, which includes bucket names, hashed secrets, and other related information. However, they do not include the actual data!
|
|
|
|
If you're running Garage in a cluster, when you restore the metadata, other nodes will send the new node any missing data.\
|
|
Finally, please note that Abra backups are not a substitute for a proper data replication strategy, and it's recommended to run Garage in a cluster if you need data redundancy.
|
|
|
|
For more, see [`garagehq.deuxfleurs.fr`](https://garagehq.deuxfleurs.fr/documentation/cookbook/real-world/).
|