Sign inSign up

waazaafr/garage-s3-simple

By waazaafr

•Updated 19 days ago

An S3 object store so reliable you can run it outside datacenters by DeuxFleurs

Image
0

10K+

waazaafr/garage-s3-simple repository overview

⁠Garage S3 Simple

A simple Docker image for running Garage, a distributed object storage service compatible with Amazon S3. Garage is made by deuxfleurs: https://garagehq.deuxfleurs.fr⁠

⁠Features

  • Based on official Garage
  • Alpine Linux for minimal footprint
  • AWS CLI pre-installed for easy S3 operations
  • Automatic configuration generation
  • Multi-architecture support (amd64, arm64)

⁠History

08/09/2026

  • Garage v2.3.0 -> v2.4.1

04/08/2026

  • added webui for Garage infos

To enable it you must:

  • add a variable WEBUI_ENABLED on "true"
  • add a port map to the 4080 tcp of the container

⁠Updates

New releases follow the Garage releases from DeuxFleurs.

Their changelog is available here: https://git.deuxfleurs.fr/Deuxfleurs/garage/releases⁠

⁠Quick Start

docker run -d
    --name garage
    -p 9000:9000
    -p 3901:3901
    -p 3902:3902
    -p 3903:3903
    -p 4080:4080
    -v /path/to/config:/config
    -v /path/to/data:/data
    -v /path/to/meta:/meta
    -e NODE_IP="192.168.1.10"
    -e GATEWAY="192.168.1.10"
    -e ADMIN_TOKEN="your-secure-token"
    -e WEBUI_ENABLED="true"
    waazaafr/garage-s3-simple:latest

⁠Environment Variables

VariableDefaultRequiredDescription
NODE_IP-YesPublic IP address of this node for RPC communication
GATEWAY-YesGateway bind address for S3 API
ADMIN_TOKEN-YesAdmin API authentication token
BLOCK_SIZE5NoBlock size in MB
COMPRESSION_LEVEL2NoCompression level (0-9)
RPC_SECRETAuto-generatedNoRPC secret for cluster communication (64 hex chars)
REPLICATION_FACTOR1NoNumber of copies for each object
WEBUI_ENABLEDfalseNotrue to enable Webui
CONSISTENCY_MODEdegradedNoConsistency mode (consistent, degraded, dangerous)

Important: NODE_IP, GATEWAY, and ADMIN_TOKEN are mandatory. The container will exit with an error if these are not set.

⁠Volumes

  • /config – Garage configuration (garage.toml and secrets)
  • /data – Object storage data
  • /meta – Metadata storage

⁠Ports

  • 9000 – Garage internal RPC
  • 3901 – Garage public RPC
  • 3902 – S3 web interface
  • 3903 – Admin API
  • 4080 – For the Webui if you enable it

⁠Configuration Behavior

On container start:

  • If /config/garage.toml does not exist:

    • A new configuration is created using environment variables
    • If RPC_SECRET is not provided, a random 64-character hex secret is generated
    • All optional variables use their default values if not specified
  • If /config/garage.toml exists:

    • Only the required variables (NODE_IP, GATEWAY, ADMIN_TOKEN) are updated to match environment variables
    • Optional variables are updated only if explicitly set in the environment
    • Existing values (like RPC_SECRET) are preserved if the variable is not set
    • The api_bind_addr in the [admin] section is never modified to preserve existing configuration

This allows you to persist configuration across restarts while still being able to update specific values via environment variables when needed.

⁠Examples

⁠Standalone Node
docker run -d
    --name garage
    -p 9000:9000
    -p 3901:3901
    -p 3902:3902
    -p 3903:3903
    -p 4080:4080
    -v garage-config:/config
    -v garage-data:/data
    -v garage-meta:/meta
    -e NODE_IP="192.168.1.10"
    -e GATEWAY="192.168.1.10" 
    -e ADMIN_TOKEN="my-secret-token"
    -e WEBUI_ENABLED="true"
    waazaafr/garage-s3-simple:latest
⁠With Custom Configuration
docker run -d
--name garage
    -p 9000:9000
    -p 3901:3901
    -p 3902:3902
    -p 3903:3903
    -p 4080:4080
    -v garage-config:/config
    -v garage-data:/data
    -v garage-meta:/meta
    -e NODE_IP="192.168.1.10"
    -e GATEWAY="192.168.1.10"
    -e BLOCK_SIZE="10"
    -e COMPRESSION_LEVEL="5"
    -e ADMIN_TOKEN="my-admin-token"
    -e WEBUI_ENABLED="true"
    waazaafr/garage-s3-simple:latest

=======================================================================

Feel free to join me on https://discord.gg/p9xkjEw8ts⁠⁠⁠

If you like this, consider buing me a coffee:

https://buymeacoffee.com/waazaa⁠⁠⁠

https://ko-fi.com/waazaa⁠

If you need an UnRAID license follow this link: https://unraid.net/pricing?via=4c3f80⁠⁠⁠

Tag summary

Content type

Image

Digest

sha256:cb820d57a…

Size

115.3 MB

Last updated

19 days ago

docker pull waazaafr/garage-s3-simple