Automatic scheduling service at Gemini International Observatory
The full stack runs via Docker Compose: two backend instances (REALTIME on port 8000, VALIDATION on port 8001) and a React frontend on port 80.
git lfs install
git lfs pull- Copy the environment file and fill in any secrets:
cp .env.example .env- Build and start all services:
docker compose build
docker compose up| Service | URL | Mode |
|---|---|---|
| Frontend | http://localhost | — |
| Backend (Validation) | http://localhost:8001/graphql | VALIDATION |
| Backend (Realtime) | http://localhost:8000/graphql | REALTIME |
To enable Redis caching, also set collector.with_redis: true in backend/scheduler/config.yaml, then:
REDISCLOUD_URL=redis://redis:6379 docker compose --profile redis upWhen the backend schema changes, regenerate backend/scheduler.graphql before rebuilding:
uv run python scripts/export_graphql_schema.py
docker compose build frontendcd backend
uv sync --group dev
uv run python scheduler/main.pypnpm install
pnpm frontend devuv sync --group docs
uv run mkdocs serve