services: history: build: . image: history:latest restart: unless-stopped environment: - PORT=4321 # LIVE LLM: point at the vLLM endpoint on ai.kkhost.pl (no API key needed). # This is a REASONING model (chain-of-thought in `reasoning`, final JSON # answer in `content`), so llm.ts sends a generous max_tokens (4000) to let # it finish thinking before emitting content. LLM_API_BASE / LLM_MODEL are # optional env overrides (these match the defaults in server/llm.ts). # To run the deterministic stub instead (no model required), set LLM_STUB=1. - LLM_API_BASE=https://ai.kkhost.pl/v1 - LLM_MODEL=qwen3.8-27b networks: - dev_net volumes: - history-data:/app/data # Shared Traefik (dev_traefik) routing — see ../PROXY.md. Plain HTTP only; # TLS is terminated by the external proxy in front of this Traefik. labels: - "traefik.enable=true" - "traefik.http.routers.history.rule=Host(`history.dev.kkhost.pl`)" - "traefik.http.routers.history.entrypoints=web" - "traefik.http.services.history.loadbalancer.server.port=4321" networks: dev_net: external: true volumes: history-data: