services: db: image: postgres:16-alpine ports: - 55432:5432 environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres POSTGRES_DB: postgres volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres" ] interval: 10s timeout: 5s retries: 5 redis: image: redis command: redis-server --appendonly yes ports: - 56379:6379 volumes: - redis_data:/data healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 10s timeout: 5s retries: 5 minio: # MinIO stopped publishing images; pgsty/minio is the community build the self-host compose uses too image: pgsty/minio:RELEASE.2026-08-04T00-00-00Z command: server /data --console-address ":9001" ports: - 9000:9000 - 9001:9001 environment: MINIO_ROOT_USER: plunk MINIO_ROOT_PASSWORD: plunkminiopass volumes: - minio_data:/data healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ] interval: 30s timeout: 20s retries: 3 volumes: redis_data: minio_data: postgres_data: