b5aaceb65a356309336dc627693728a6ed1508d4
Per DESIGN-a2a-agents.md v2.1 §2-3b: models are the scarce queued resource, version-controlled here rather than hardcoded in callers. - model-registry.yaml: kimi (main reasoning, quota-gated), local-small (ollama/gemma3:4b, always-on cheap tier), bge-m3 (embedder + routing classifier, never-evict), tei-reranker (never-evict, interactive- critical), paid-fallback (metered, opt-in only, unreachable by default via empty routing.metered_opt_in). GPU residency policy carries the never-evict set, co-residency groups, and measured baseline (bge-m3+gemma3:4b+tei-reranker ~6.2/8GB on the GTX 1070). - model_registry.py: resolve(tier) picks an available model without the caller naming one, gated so a metered model is only reachable with both allow_metered=True and an opted-in virtual key; to_probe_config() bridges registry quota data into kb_worker.py's existing Probe classes (no duplicated probe logic); preload_check() expresses the §3b pre-load VRAM check purely from registry data. Gap noted for follow-up: bge-m3 has no litellm-config.yaml model_list entry yet (embedder there still points at ollama/nomic-embed-text on a different port) — out of scope here, registry documents it as-is.
Agap Home Server
Docker Compose configurations for the Agap self-hosted home server infrastructure.
Services
- Immich (
immich-app/) — Photo management and backup (port 2283) - Gitea (
gitea/) — Self-hosted Git server with web UI (port 3000, SSH 222) - Open WebUI (
openai/) — AI chat interface with Ollama, GPU-accelerated (port 3125)
Quick Start
Start Immich (main service)
docker compose up -d
Start Gitea (from gitea/ directory)
cd gitea
docker compose up -d
Start Open WebUI (from openai/ directory)
cd openai
docker compose up -d
Configuration
Environment variables are in the root .env file for Immich:
UPLOAD_LOCATION— where photo originals are storedTHUMB_LOCATION— thumbnail cache directoryENCODED_VIDEO_LOCATION— transcoded video cacheDB_DATA_LOCATION— Postgres database directoryDB_PASSWORD— Postgres password
Storage
Media is stored on:
/mnt/media/upload— Immich originals/mnt/ssd1/media/— Immich thumbnails, encoded video, and Postgres database/mnt/misc/gitea— Gitea repositories and data
GPU Support
For GPU acceleration (Open WebUI/Ollama, Immich ML):
- Install NVIDIA Docker runtime:
sudo ./nvidia-docker-install.sh - Install CUDA toolkit:
./install-cuda.sh
Documentation
See CLAUDE.md for detailed developer instructions and Gitea wiki integration guidelines.
See the Gitea wiki for infrastructure documentation (storage, network, services setup).
Description
Languages
JavaScript
49%
Python
39.8%
Shell
6.9%
Dockerfile
1.8%
HTML
1.5%
Other
1%