| # OrgState Engine β local / single-node deployment. | |
| # | |
| # Two processes off ONE image, sharing ONE database volume: | |
| # api β the HTTP API (uvicorn infra.api.app:app) | |
| # scheduler β the ingestion scheduler loop | |
| # | |
| # SQLite-on-a-volume today; a Postgres service slots in here later (the | |
| # infra/storage Database class is the seam). See MIGRATION_MAP.md. | |
| services: | |
| api: | |
| build: . | |
| command: ["bash", "infra/deployment/scripts/start_api.sh"] | |
| ports: | |
| - "8080:8080" | |
| environment: | |
| ORGSTATE_DB_PATH: /data/orgstate.sqlite3 | |
| ORGSTATE_LOG_FORMAT: json | |
| ORGSTATE_LOG_LEVEL: INFO | |
| volumes: | |
| - orgstate-data:/data | |
| restart: unless-stopped | |
| scheduler: | |
| build: . | |
| command: ["bash", "infra/deployment/scripts/start_scheduler.sh"] | |
| environment: | |
| ORGSTATE_DB_PATH: /data/orgstate.sqlite3 # same DB as the API | |
| ORGSTATE_LOG_FORMAT: json | |
| ORGSTATE_LOG_LEVEL: INFO | |
| ORGSTATE_SCHEDULER_POLL_SECONDS: "60" | |
| ORGSTATE_ENABLE_SCHEDULER: "true" | |
| volumes: | |
| - orgstate-data:/data | |
| depends_on: | |
| - api | |
| restart: unless-stopped | |
| volumes: | |
| orgstate-data: | |