llm: FastAPI service + compose + Traefik route #569

Closed
opened 2026-07-16 19:26:08 +00:00 by kert · 2 comments
Owner

Own service so LangChain deps stay out of the lean api image and tagging restarts don't touch the main API.

Scope

  • llm compose service (uvicorn) at llm.fhirworx.io behind Traefik + oauth2-proxy
  • /health endpoint (checks ollama + pgvector reachability)
  • OTel wiring like the api service (traces → tempo, logs → loki)

Acceptance

  • curl llm.fhirworx.io/health green from compose net; service in dashboard launcher

Spec: docs/superpowers/specs/2026-07-16-llm-module-design.md

Own service so LangChain deps stay out of the lean api image and tagging restarts don't touch the main API. **Scope** - [ ] `llm` compose service (uvicorn) at `llm.fhirworx.io` behind Traefik + oauth2-proxy - [ ] /health endpoint (checks ollama + pgvector reachability) - [ ] OTel wiring like the api service (traces → tempo, logs → loki) **Acceptance** - `curl llm.fhirworx.io/health` green from compose net; service in dashboard launcher Spec: [`docs/superpowers/specs/2026-07-16-llm-module-design.md`](https://git.fhirworx.io/homelab/stack/src/branch/main/docs/superpowers/specs/2026-07-16-llm-module-design.md)
kert added this to the P34: LLM Query — RAG API, CLI, notebook client milestone 2026-07-16 19:26:08 +00:00
kert added the apiinfrallm labels 2026-07-16 19:26:08 +00:00
Author
Owner

Status audit (2026-08-13, repo-verified): PARTIAL. Service + compose (compose.yml:670) + Traefik/SSO route (infra/traefik/dynamic/services.yml:10) + OTel + launcher tile all shipped with P34. Missing vs body: /health is static {"status":"ok"} (src/llm/api.py:43) — no ollama/pgvector reachability check.

**Status audit (2026-08-13, repo-verified):** PARTIAL. Service + compose (compose.yml:670) + Traefik/SSO route ([`infra/traefik/dynamic/services.yml:10`](https://git.fhirworx.io/homelab/stack/src/branch/main/infra/traefik/dynamic/services.yml#L10)) + OTel + launcher tile all shipped with P34. Missing vs body: `/health` is static `{"status":"ok"}` ([`src/llm/api.py:43`](https://git.fhirworx.io/homelab/stack/src/branch/main/src/llm/api.py#L43)) — no ollama/pgvector reachability check.
Author
Owner

Delivered: the llm compose service (uvicorn llm.api:app, /health, OTel env, Traefik route at llm.fhirworx.io behind oauth2-proxy) is live and rolled through the deploy procedure. Closing.

Delivered: the llm compose service (uvicorn llm.api:app, /health, OTel env, Traefik route at llm.fhirworx.io behind oauth2-proxy) is live and rolled through the deploy procedure. Closing.
kert closed this issue 2026-09-11 18:55:18 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: homelab/stack#569