Spaces:
Sleeping
Sleeping
Download compose.yaml from SeriousSam07/Ritu-AI: direct link, hf CLI and curl.
- Browser
- Download file 3.96 kB
-
https://huggingface.co/spaces/SeriousSam07/Ritu-AI/resolve/main/compose.yaml
- Command line
-
hf download hf://spaces/SeriousSam07/Ritu-AI/compose.yaml
-
curl -L -o compose.yaml https://huggingface.co/spaces/SeriousSam07/Ritu-AI/resolve/main/compose.yaml
3.96 kB
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # compose.yaml β Podman Compose with docker compose watch | |
| # SKILL.md Rule 2: All services containerized | |
| # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| name: isro-climate-twin | |
| services: | |
| # βββ FastAPI Backend βββββββββββββββββββββββββββββββββββββββββββββββ | |
| api: | |
| build: | |
| context: . | |
| dockerfile: backend/Containerfile | |
| ports: | |
| - "8000:8000" | |
| environment: | |
| DATABASE_URL: postgresql+asyncpg://climate:climate@postgres:5432/climatedb | |
| REDIS_URL: redis://redis:6379/0 | |
| LITELLM_BASE_URL: http://litellm:4000 | |
| LITELLM_API_KEY: ${LITELLM_MASTER_KEY} | |
| DEVICE: auto # auto-detect GPU/CPU | |
| MODEL_HIDDEN_DIM: 32 | |
| LOG_LEVEL: info | |
| env_file: | |
| - .env | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| redis: | |
| condition: service_healthy | |
| litellm: | |
| condition: service_started | |
| volumes: | |
| - ./backend/data:/app/data:ro | |
| develop: | |
| watch: | |
| - action: sync | |
| path: ./backend | |
| target: /app/backend | |
| ignore: | |
| - backend/__pycache__ | |
| - backend/.pytest_cache | |
| - action: sync+restart | |
| path: backend/pyproject.toml | |
| # βββ React Frontend ββββββββββββββββββββββββββββββββββββββββββββββββ | |
| frontend: | |
| build: | |
| context: ./frontend | |
| dockerfile: Containerfile | |
| ports: | |
| - "5173:5173" | |
| environment: | |
| - VITE_API_BASE_URL=http://api:8000 | |
| depends_on: | |
| - api | |
| volumes: | |
| - ./frontend:/app | |
| - /app/node_modules | |
| develop: | |
| watch: | |
| - action: sync | |
| path: ./frontend/src | |
| target: /app/src | |
| - action: rebuild | |
| path: ./frontend/package.json | |
| # βββ LiteLLM FinOps Gateway ββββββββββββββββββββββββββββββββββββββββ | |
| litellm: | |
| image: ghcr.io/berriai/litellm:main-latest | |
| ports: | |
| - "4000:4000" | |
| environment: | |
| GEMINI_API_KEY: ${GEMINI_API_KEY} | |
| LITELLM_MASTER_KEY: ${LITELLM_MASTER_KEY} | |
| LANGCHAIN_API_KEY: ${LANGCHAIN_API_KEY} | |
| volumes: | |
| - ./backend/litellm_config/config.yaml:/app/config.yaml:ro | |
| command: ["--config", "/app/config.yaml", "--port", "4000", "--num_workers", "1"] | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:4000/health"] | |
| interval: 10s | |
| timeout: 5s | |
| retries: 5 | |
| # βββ PostgreSQL + TimescaleDB ββββββββββββββββββββββββββββββββββββββ | |
| postgres: | |
| image: timescale/timescaledb:latest-pg16 | |
| ports: | |
| - "5432:5432" | |
| environment: | |
| POSTGRES_DB: climatedb | |
| POSTGRES_USER: climate | |
| POSTGRES_PASSWORD: climate | |
| volumes: | |
| - postgres_data:/var/lib/postgresql/data | |
| healthcheck: | |
| test: ["CMD-SHELL", "pg_isready -U climate -d climatedb"] | |
| interval: 5s | |
| timeout: 5s | |
| retries: 10 | |
| # βββ Redis Cache & Agent State βββββββββββββββββββββββββββββββββββββ | |
| redis: | |
| image: redis:7-alpine | |
| ports: | |
| - "6379:6379" | |
| command: redis-server --maxmemory 256mb --maxmemory-policy allkeys-lru | |
| healthcheck: | |
| test: ["CMD", "redis-cli", "ping"] | |
| interval: 5s | |
| timeout: 3s | |
| retries: 5 | |
| volumes: | |
| postgres_data: | |