2025-12-05 12:46:57 +00:00
|
|
|
# documentation: https://garagehq.deuxfleurs.fr/documentation/
|
|
|
|
|
# slogan: Garage is an S3-compatible distributed object storage service designed for self-hosting.
|
|
|
|
|
# category: storage
|
|
|
|
|
# tags: object, storage, server, s3, api, distributed
|
|
|
|
|
# logo: svgs/garage.svg
|
|
|
|
|
# port: 3900
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
garage:
|
|
|
|
|
image: dxflrs/garage:v2.1.0
|
|
|
|
|
environment:
|
|
|
|
|
- GARAGE_S3_API_URL=$GARAGE_S3_API_URL
|
|
|
|
|
- GARAGE_WEB_URL=$GARAGE_WEB_URL
|
|
|
|
|
- GARAGE_ADMIN_URL=$GARAGE_ADMIN_URL
|
|
|
|
|
- GARAGE_RPC_SECRET=${SERVICE_HEX_32_RPCSECRET}
|
|
|
|
|
- GARAGE_ADMIN_TOKEN=$SERVICE_PASSWORD_GARAGE
|
|
|
|
|
- GARAGE_METRICS_TOKEN=$SERVICE_PASSWORD_GARAGEMETRICS
|
|
|
|
|
- GARAGE_ALLOW_WORLD_READABLE_SECRETS=true
|
|
|
|
|
- RUST_LOG=${RUST_LOG:-garage=info}
|
|
|
|
|
volumes:
|
|
|
|
|
- garage-meta:/var/lib/garage/meta
|
|
|
|
|
- garage-data:/var/lib/garage/data
|
|
|
|
|
- type: bind
|
|
|
|
|
source: ./garage.toml
|
|
|
|
|
target: /etc/garage.toml
|
|
|
|
|
content: |
|
|
|
|
|
metadata_dir = "/var/lib/garage/meta"
|
|
|
|
|
data_dir = "/var/lib/garage/data"
|
|
|
|
|
db_engine = "lmdb"
|
|
|
|
|
|
|
|
|
|
replication_factor = 1
|
|
|
|
|
consistency_mode = "consistent"
|
|
|
|
|
|
|
|
|
|
compression_level = 1
|
|
|
|
|
block_size = "1M"
|
|
|
|
|
|
2025-12-05 13:05:18 +00:00
|
|
|
rpc_bind_addr = "[::]:3901"
|
2025-12-05 12:46:57 +00:00
|
|
|
rpc_secret_file = "env:GARAGE_RPC_SECRET"
|
|
|
|
|
bootstrap_peers = []
|
|
|
|
|
|
|
|
|
|
[s3_api]
|
|
|
|
|
s3_region = "garage"
|
|
|
|
|
api_bind_addr = "[::]:3900"
|
|
|
|
|
root_domain = ".s3.garage.localhost"
|
|
|
|
|
|
|
|
|
|
[s3_web]
|
|
|
|
|
bind_addr = "[::]:3902"
|
|
|
|
|
root_domain = ".web.garage.localhost"
|
|
|
|
|
|
|
|
|
|
[admin]
|
|
|
|
|
api_bind_addr = "[::]:3903"
|
|
|
|
|
admin_token_file = "env:GARAGE_ADMIN_TOKEN"
|
|
|
|
|
metrics_token_file = "env:GARAGE_METRICS_TOKEN"
|
|
|
|
|
healthcheck:
|
2025-12-05 13:21:39 +00:00
|
|
|
test: ["CMD", "/garage", "stats", "-a"]
|
2025-12-05 12:46:57 +00:00
|
|
|
interval: 10s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 5
|