services: postgres: image: postgres:17-alpine ports: - "${GO_LOOSE_POSTGRES_PORT:-5433}:5432" environment: POSTGRES_DB: goloose POSTGRES_USER: goloose POSTGRES_PASSWORD: goloose volumes: - postgres-data2:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U goloose -d goloose"] interval: 5s timeout: 3s retries: 10 go-loose: build: . depends_on: postgres: condition: service_healthy environment: GO_LOOSE_ADDR: ":8080" GO_LOOSE_BASE_URL: "http://localhost:${GO_LOOSE_PORT:-8080}" GO_LOOSE_AUTH_DOMAIN: "auth.local" GO_LOOSE_DATABASE_URL: "postgres://goloose:goloose@postgres:5432/goloose?sslmode=disable" GO_LOOSE_SESSION_SECRET: "local-development-secret-change-me-now" GO_LOOSE_DEV_LOGIN: "false" GO_LOOSE_LOCAL_LOGIN: "true" GO_LOOSE_ALLOW_PRIVATE_CONTRACT_URLS: "true" ports: - "${GO_LOOSE_PORT:-8080}:8080" healthcheck: test: ["CMD", "/go-loose", "-healthcheck"] interval: 10s timeout: 3s retries: 5 start_period: 10s volumes: postgres-data2: