Self-hosted AI research assistant (custom-built app) with SearXNG (meta-search), ChromaDB (vectors), ntfy (notifications) and Ollama (local LLMs). The biggest RAM allocation in the lab.
| Guest | LXC 111 "Odysseus" on SuperPC |
| IP | 192.168.86.208 |
| Tailscale | — |
| Resources | 4 vCPU / 11.7 GB |
| Rootfs | 40G ceph-storage (49% used — models) |
| Port | Exposure | Purpose |
|---|---|---|
| 7000 | LAN | Odysseus UI — odysseus.codycodez.com via NPM (behind Authentik outpost) |
| 11434 | LAN, no auth | Ollama API — findings #12: bind to loopback |
| 8080 / 8100 / 8091 | loopback only ✅ | SearXNG / ChromaDB / ntfy |
/opt/odysseus/docker-compose.yml (+ gpu-nvidia/gpu-amd variants); app is build: . from local source.env ✅; SQLite app DB in ./data⚠️ Not in vzdump. ./data (app DB, HF cache is re-downloadable) is the valuable part.
App: git pull && docker compose build && docker compose up -d in /opt/odysseus. Ollama models: docker exec ollama ollama list.
None in Kuma yet → add HTTP :7000 + domain monitor. ntfy (:8091) could become the Kuma notification channel for the whole lab.