services: app: build: . ports: - "3000:3000" environment: GEMINI_API_KEY: ${GEMINI_API_KEY:?set GEMINI_API_KEY in .env} GEMINI_MODEL: ${GEMINI_MODEL:-gemini-3.6-flash} volumes: # The UI is read from disk per request, so this makes it editable live. - ./static:/app/static:ro # Compose pulls the model, starts Model Runner, and hands the app # the endpoint and the model name. No docker model pull by hand. models: gemma: endpoint_var: LOCAL_AI_URL model_var: LOCAL_AI_MODEL models: gemma: model: ai/gemma3:1B-Q4_K_M # The prompts in this demo are tiny; no reason to reserve 128k. context_size: 2048