Spaces:
Runtime error
Runtime error
| # Perfis: | |
| # local — lake em ./data/lake (sem GCP) | |
| # cloud — lake no GCS + BigQuery (requer credentials/ e .env) | |
| # | |
| # API: | |
| # docker compose --profile local up api-local -d | |
| # docker compose --profile cloud up api-cloud -d | |
| # | |
| # Pipeline (one-shot): | |
| # docker compose --profile local run --rm pipeline-local daily-sync | |
| # docker compose --profile cloud run --rm pipeline-cloud ingest-sofascore --history --all-teams | |
| # | |
| # Atalho: ./scripts/docker-dev.sh cloud up | |
| x-app-image: &app-image | |
| build: . | |
| x-app-runtime: &app-runtime | |
| <<: *app-image | |
| working_dir: /app | |
| environment: &container-paths | |
| LAKE_ROOT: /data/lake | |
| SOFASCORE_STATS_DIR: /data/lake/sofascore | |
| SOFASCORE_FEPT_DIR: /data/lake/fept | |
| WC_ARTIFACT_DIR: /data/lake/artifacts/wc_predictor | |
| PORT: "8080" | |
| services: | |
| api-local: | |
| <<: *app-runtime | |
| profiles: [local] | |
| ports: | |
| - "${API_PORT:-8000}:8080" | |
| environment: | |
| <<: *container-paths | |
| LAKE_PRIMARY: local | |
| LAKE_SYNC_BQ_ON_WRITE: "false" | |
| volumes: | |
| - ./data/lake:/data/lake | |
| restart: unless-stopped | |
| api-cloud: | |
| <<: *app-runtime | |
| profiles: [cloud] | |
| ports: | |
| - "${API_PORT:-8000}:8080" | |
| env_file: | |
| - path: .env | |
| required: false | |
| environment: | |
| <<: *container-paths | |
| LAKE_PRIMARY: cloud | |
| LAKE_SYNC_BQ_ON_WRITE: "${LAKE_SYNC_BQ_ON_WRITE:-true}" | |
| GCP_PROJECT: "${GCP_PROJECT:-}" | |
| BQ_DATASET: "${BQ_DATASET:-sports_news_lake}" | |
| GCS_BUCKET: "${GCS_BUCKET:-}" | |
| GOOGLE_APPLICATION_CREDENTIALS: /app/credentials/${GCP_CREDENTIALS_FILE:-beanalytic-dev.json} | |
| volumes: | |
| - ./credentials:/app/credentials:ro | |
| - ./data/lake/artifacts:/data/lake/artifacts | |
| - ./data/lake/fept:/data/lake/fept | |
| restart: unless-stopped | |
| pipeline-local: | |
| <<: *app-runtime | |
| profiles: [local] | |
| entrypoint: [] | |
| command: ["daily-sync"] | |
| environment: | |
| <<: *container-paths | |
| LAKE_PRIMARY: local | |
| LAKE_SYNC_BQ_ON_WRITE: "false" | |
| volumes: | |
| - ./data/lake:/data/lake | |
| pipeline-cloud: | |
| <<: *app-runtime | |
| profiles: [cloud] | |
| entrypoint: [] | |
| command: ["daily-sync"] | |
| env_file: | |
| - path: .env | |
| required: false | |
| environment: | |
| <<: *container-paths | |
| LAKE_PRIMARY: cloud | |
| LAKE_SYNC_BQ_ON_WRITE: "${LAKE_SYNC_BQ_ON_WRITE:-true}" | |
| GCP_PROJECT: "${GCP_PROJECT:-}" | |
| BQ_DATASET: "${BQ_DATASET:-sports_news_lake}" | |
| GCS_BUCKET: "${GCS_BUCKET:-}" | |
| GOOGLE_APPLICATION_CREDENTIALS: /app/credentials/${GCP_CREDENTIALS_FILE:-beanalytic-dev.json} | |
| volumes: | |
| - ./credentials:/app/credentials:ro | |
| - ./data/lake/artifacts:/data/lake/artifacts | |
| - ./data/lake/fept:/data/lake/fept | |