services: timescaledb: image: timescale/timescaledb:latest-pg16 environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres POSTGRES_DB: micrometeo ports: - "5432:5432" volumes: - tsdata:/var/lib/postgresql/data # runs on first DB initialization only - ./db/init:/docker-entrypoint-initdb.d:ro ingestd: build: context: . dockerfile: Dockerfile depends_on: - timescaledb restart: unless-stopped ports: - "8080:8080" volumes: - ./config.yaml:/app/config.yaml:ro rainml: build: context: . dockerfile: Dockerfile.train depends_on: - timescaledb restart: unless-stopped environment: DATABASE_URL: "postgres://postgres:postgres@timescaledb:5432/micrometeo?sslmode=disable" RAIN_SITE: "home" RAIN_MODEL_NAME: "rain_next_1h" RAIN_MODEL_VERSION_BASE: "rain-logreg-v1" RAIN_LOOKBACK_DAYS: "30" RAIN_TRAIN_INTERVAL_HOURS: "24" RAIN_PREDICT_INTERVAL_MINUTES: "10" RAIN_MIN_PRECISION: "0.70" RAIN_MODEL_PATH: "/app/models/rain_model.pkl" RAIN_REPORT_PATH: "/app/models/rain_model_report.json" RAIN_AUDIT_PATH: "/app/models/rain_data_audit.json" volumes: - ./models:/app/models volumes: tsdata: