mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
@@ -39,6 +39,8 @@ services:
|
||||
condition: service_healthy
|
||||
valkey:
|
||||
condition: service_started
|
||||
garage:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
# ── Frontend (React / Nginx) ─────────────────────────────────────────────────
|
||||
@@ -73,6 +75,34 @@ services:
|
||||
- valkey_data:/data
|
||||
restart: unless-stopped
|
||||
|
||||
# ── Garage (S3-compatible self-hosted storage) ────────────────────────────────
|
||||
# Exposes the S3 API on port 3900. Point your reverse proxy at this port
|
||||
# to serve S3_PUBLIC_URL (e.g. https://cdn.yourdomain.com → http://garage:3900).
|
||||
# GARAGE_RPC_SECRET must be set in .env (generate with: openssl rand -hex 32).
|
||||
#
|
||||
# garage-init.sh starts the daemon in the background, runs one-time cluster
|
||||
# initialization (layout, bucket, key), then hands control back to the daemon.
|
||||
garage:
|
||||
image: dxflrs/garage
|
||||
entrypoint: ["/bin/sh", "/garage-init.sh"]
|
||||
volumes:
|
||||
- ./config/garage.toml:/etc/garage.toml:ro
|
||||
- ./scripts/garage-init.sh:/garage-init.sh:ro
|
||||
- garage_meta:/var/lib/garage/meta
|
||||
- garage_data:/var/lib/garage/data
|
||||
ports:
|
||||
- "3900:3900"
|
||||
env_file: .env
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "test -f /var/lib/garage/meta/.ready && garage status > /dev/null 2>&1"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 30s
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
valkey_data:
|
||||
garage_meta:
|
||||
garage_data:
|
||||
|
||||
Reference in New Issue
Block a user