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 networks: - go_loose_network go-loose: build: . depends_on: postgres: condition: service_healthy environment: GO_LOOSE_ADDR: ":8080" GO_LOOSE_BASE_URL: "${GO_LOOSE_BASE_URL:-https://auth.dev}" GO_LOOSE_AUTH_DOMAIN: "${GO_LOOSE_AUTH_DOMAIN:-auth.dev}" GO_LOOSE_OIDC_REDIRECT_URL: "${GO_LOOSE_OIDC_REDIRECT_URL:-https://auth.dev/auth/callback}" 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" SSL_CERT_FILE: /certs/local-ca.crt volumes: - ${LOCAL_CA_FILE:-../infrastructure/certs/local-ca.crt}:/certs/local-ca.crt:ro expose: - "8080" healthcheck: test: ["CMD", "/go-loose", "-healthcheck"] interval: 10s timeout: 3s retries: 5 start_period: 10s networks: go_loose_network: {} local_dev_edge: aliases: - go-loose volumes: postgres-data2: networks: go_loose_network: local_dev_edge: external: true name: local-dev-edge