name: stoner services: database: image: timescale/timescaledb:latest-pg17 environment: POSTGRES_DB: stoner POSTGRES_USER: stoner POSTGRES_PASSWORD: stoner ports: - "5432:5432" volumes: - stoner-db:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U stoner -d stoner"] interval: 5s timeout: 3s retries: 12 migrate: build: context: .. dockerfile: deploy/migrate.Dockerfile command: ["-path=/migrations", "-database=postgres://stoner:stoner@database:5432/stoner?sslmode=disable", "up"] depends_on: database: condition: service_healthy restart: "no" engine: build: context: .. dockerfile: Dockerfile environment: STONER_ENV: development STONER_HTTP_ADDR: :8080 STONER_GRPC_ADDR: :4317 STONER_DATABASE_URL: postgres://stoner:stoner@database:5432/stoner?sslmode=disable STONER_LOG_LEVEL: info ports: - "8080:8080" - "4317:4317" - "4318:8080" depends_on: database: condition: service_healthy migrate: condition: service_completed_successfully dashboard: build: context: ../web dockerfile: Dockerfile ports: - "3000:80" depends_on: engine: condition: service_started integration-test: profiles: ["test"] build: context: .. dockerfile: deploy/test.Dockerfile environment: STONER_TEST_DATABASE_URL: postgres://stoner:stoner@database:5432/stoner?sslmode=disable depends_on: database: condition: service_healthy migrate: condition: service_completed_successfully volumes: stoner-db: