logo
icon

Garage

An open-source distributed object storage service tailored for self-hosting

template cover
Deployed2 times
Publisherpan93412
Created2024-08-02
Services
service icon

Garage is an S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.

Garage is designed for storage clusters composed of nodes running at different physical locations, in order to easily provide a storage service that replicates data at these different locations and remains available even when some servers are unreachable. Garage also focuses on being lightweight, easy to operate, and highly resilient to machine failures.

Usage

This template is designed for out-of-the-box usage. However, you still need to configure a few things before everything works.

  1. Set your domain in the "Domain" tab after deployment. The S3 API can be accessed from the api port, and the web UI can be accessed from the web port.
  2. Change the secret key of the RPC service. Run openssl rand -hex 32 to generate a new secret key and paste it into the GARAGE_RPC_SECRET environment variable. It is strongly recommended to change the secret key before making the service public to ensure the security of the service, even if you are not going to use the RPC function.
  3. Update root_domain in your configuration. It should be .<your-domain>.

If you need to connect other Garage instances from outside the network, you may need to configure the RPC public address. Edit the RPC public address in the config (Settings → Config Editor) to the forwarded hostname and port of the rpc port of this Garage instance.

Upgrading

To upgrade Garage to a newer version, change the image tag of the garage service. Remember to check the release notes before switching to a new version.