garage

An open-source distributed object storage service tailored for selfhosting at a small-to-medium scale.

  • Category: Apps
  • Status: wip
  • Image: garage, 4, upstream
  • Healthcheck: No
  • Backups: No
  • Email: N/A
  • Tests: No
  • SSO: N/A

Quick start

  • abra app new garage
  • If you are creating a new cluster:
    • Generate a new rpc_secret: abra app secret generate --all
      • Note: all nodes must share the same rpc secret, do not lose this value if you plan to cluster garage!
      • Note: In older versions of abra you must generate the secret locally with openssl rand -hex 32 then insert the result as described below
    • abra app config <app-domain>
  • If this Garage node is joining an existing cluster:
    • Insert the existing rpc_secret: abra app secret insert <app-domain> rpc_secret v1 <rpc-secret>
    • abra app config <app-domain>
      • Uncomment the block that starts with ## Bootstrap this node
      • Set BOOTSTRAP_HOST and BOOTSTRAP_ID
  • abra app deploy <app-domain>

Configuration

Allow RPC Connections

  • Your ingress controller must be set up to allow connections on port 3901. We assume you're using Traefik
  • abra app configure <traefik-app-name>
  • Uncomment the block that starts with ## Garage
  • Re-deploy Traefik: abra app undeploy -n <traefik-app-name> && sleep 5 && abra app deploy -n <traefik-app-name>

Prepare the Garage Client

To interact with garage inside docker, it's best to create an alias for the following abra run command.

alias garage="abra app run <app domain> -- app /garage"

Run garage status to verify everything is working.

You can optionally add this alias to your .bashrc (or similar) file to avoid having to define it repeatedly.

Garage Quick Start Guide

Once garage status works, you can follow the guide here: https://garagehq.deuxfleurs.fr/documentation/quick-start/#checking-that-garage-runs-correctly

Backups

In development, not currently reliable

By default, backups will only capture a snapshot of the metadata directory, which includes bucket names, hashed secrets, and other related information. By default, the actual data will not be backed up! If you're running Garage in a cluster, when you restore the metadata, other nodes will provide any missing data.

To enable full data backups

  • abra app config <app domain>
  • Uncomment the block that starts with ## Enable Full Data Backups
  • Re-deploy Garage: abra app undeploy -n <app domain> && sleep 5 && abra app deploy -n <app domain>

For more, see garagehq.deuxfleurs.fr.

Description
An open-source distributed object storage service tailored for selfhosting at a small-to-medium scale.
Readme 79 KiB
Languages
Shell 100%