services: postgres: image: postgres:17-alpine environment: POSTGRES_DB: album POSTGRES_USER: album POSTGRES_PASSWORD: album ports: - "5439:5432" volumes: - album-postgres:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U album"] interval: 3s timeout: 3s retries: 10 garage: image: dxflrs/garage:v2.3.0 command: [ "/garage", "-c", "/etc/garage.toml", "server", "--single-node", "--default-bucket", ] environment: GARAGE_DEFAULT_ACCESS_KEY: GK0123456789abcdef0123456789abcdef GARAGE_DEFAULT_SECRET_KEY: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef GARAGE_DEFAULT_BUCKET: album ports: - "3900:3900" - "3903:3903" volumes: - ./docker/garage.toml:/etc/garage.toml:ro - album-garage-meta:/var/lib/garage/meta - album-garage-data:/var/lib/garage/data healthcheck: test: ["CMD", "/garage", "-c", "/etc/garage.toml", "status"] interval: 3s timeout: 5s retries: 20 start_period: 5s mailpit: image: axllent/mailpit:v1.27 ports: - "1027:1025" - "8027:8025" environment: MP_SMTP_AUTH_ACCEPT_ANY: "1" MP_SMTP_AUTH_ALLOW_INSECURE: "1" volumes: album-postgres: album-garage-meta: album-garage-data: