Lessons learned from building this stack. Check here before opening issues.
Symptom: Inference is slow, runner.vram="0 B" in ollama logs, or runner.inference is not oneapi.
Check:
ls -la /dev/dri/
docker logs ollama 2>&1 | grep -i "device\|gpu\|arc\|oneapi"Common causes:
-
Wrong card node — On Meteor Lake/Arrow Lake, the Arc iGPU may be on
card0orcard1and this can change between reboots. Thecheck-arc-gpu.shscript detects and updates.envautomatically on each start.Manual fix:
ls -la /dev/dri/ cat /sys/class/drm/card0/device/vendor cat /sys/class/drm/card1/device/vendor
-
Container started without GPU access — If the card node drifted and the service started before
check-arc-gpu.shupdated.env:sudo systemctl restart ai-stack.service
-
Driver not loaded — Check
lsmod | grep -E "i915|xe". If empty, the Intel GPU driver isn't loaded.
Check:
curl localhost:42000/health
docker logs retriever --tail 20Common causes:
-
Vault path missing — Verify
RETRIEVER_VAULT_PATHin.envpoints to a real directory that contains.mdfiles. -
Embeddings failing — The retriever needs Olla healthy and
nomic-embed-textpulled:curl localhost:40114/internal/health docker exec ollama ollama list | grep nomic docker exec ollama ollama pull nomic-embed-text:latest
-
Vault not mounted — Check the container:
docker exec retriever ls /vault
Check:
curl localhost:40114/internal/status/endpointsFix: Regenerate config after changing .env:
bash scripts/generate-olla-config.sh
sudo systemctl restart ai-stack.serviceCheck logs:
docker logs litellm --tail 30Common causes:
-
Missing API keys —
ANTHROPIC_API_KEYandGEMINI_API_KEYmust be set in.env. LiteLLM will start without them but cloud models won't be available. -
Healthcheck — LiteLLM's liveness endpoint is at
/health/liveness(not/health). The healthcheck in compose uses the correct URL.
Symptom: Olla reports a remote node as unreachable.
Check:
curl http://192.168.1.X:11434/api/tagsFix: Ensure the remote host is reachable from the Docker network. If the host is on the LAN, Olla should be able to reach it. For host-local addresses, you may need extra_hosts:
olla:
extra_hosts:
- "host.docker.internal:host-gateway"Cause: A port mapping in the compose file has a typo.
Fix: Stop containers by name:
docker stop ollama litellm olla retriever
docker rm ollama litellm olla retrieverThen fix the typo in docker-compose.yml and restart.
Check:
sudo systemctl status ai-stack.service
journalctl -xeu ai-stack.serviceCommon causes:
- Docker not ready yet — the
After=docker.servicedependency usually handles this, but on slow systems addsleep 5to ExecStartPre. - GPU pre-flight failed — check
check-arc-gpu.shoutput in the journal. - Port conflict — another service is using one of your configured ports.