| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # lf_mri_platform — unified microservice stack
- # Requires: Docker Desktop with Compose v2, GNU make (or nmake on Windows)
- #
- # Usage:
- # make plug — start all services in stub mode (no hardware)
- # make real — start all services in real mode (live hardware)
- # make down — stop and remove containers
- # make logs — tail logs from all services
- # make health — check all service health endpoints
- # make restart svc=orchestrator — restart a single service
- .PHONY: up down plug real logs health restart build ps
- ENV_FILE := .env
- # ── Startup targets ──────────────────────────────────────────────────────────
- up: $(ENV_FILE)
- docker compose --env-file $(ENV_FILE) up --build -d
- plug: $(ENV_FILE)
- ORCHESTRATOR_MODE=plug docker compose --env-file $(ENV_FILE) up --build -d
- real: $(ENV_FILE)
- ORCHESTRATOR_MODE=real docker compose --env-file $(ENV_FILE) up --build -d
- down:
- docker compose down
- build:
- docker compose --env-file $(ENV_FILE) build
- # ── Monitoring ───────────────────────────────────────────────────────────────
- logs:
- docker compose logs -f
- ps:
- docker compose ps
- restart:
- docker compose restart $(svc)
- # ── Health checks ────────────────────────────────────────────────────────────
- health:
- @echo "orchestrator :" && curl -sf http://localhost:$${ORCHESTRATOR_PORT:-1717}/health || echo "OFFLINE"
- @echo "seq-interp :" && curl -sf http://localhost:$${SEQ_INTERP_PORT:-7475}/health || echo "OFFLINE"
- @echo "spectrometer :" && curl -sf http://localhost:$${SPECTROMETER_PORT:-8000}/api/ || echo "OFFLINE"
- @echo "reconstructor :" && curl -sf http://localhost:$${RECONSTRUCTOR_PORT:-8081}/health || echo "OFFLINE"
- @echo "spectroscopy :" && curl -sf http://localhost:$${SPECTROSCOPY_PORT:-8002}/health || echo "OFFLINE"
- # ── Bootstrap ────────────────────────────────────────────────────────────────
- $(ENV_FILE):
- @echo "Creating .env from .env.example..."
- cp .env.example $(ENV_FILE)
|