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_MODEL_FAMILY: "logreg" RAIN_FEATURE_SET: "baseline" RAIN_FORECAST_MODEL: "ecmwf" RAIN_LOOKBACK_DAYS: "30" RAIN_TRAIN_INTERVAL_HOURS: "24" RAIN_PREDICT_INTERVAL_MINUTES: "10" RAIN_MIN_PRECISION: "0.70" RAIN_TUNE_HYPERPARAMETERS: "true" RAIN_MAX_HYPERPARAM_TRIALS: "12" RAIN_CALIBRATION_METHODS: "none,sigmoid,isotonic" RAIN_WALK_FORWARD_FOLDS: "0" RAIN_ALLOW_EMPTY_DATA: "true" 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" RAIN_DATASET_PATH: "/app/models/datasets/rain_dataset_{model_version}_{feature_set}.csv" RAIN_MODEL_CARD_PATH: "/app/models/model_card_{model_version}.md" volumes: - ./models:/app/models volumes: tsdata: