Add Docker containerization stack

- Dockerfile: multi-stage Python 3.13-slim, healthcheck, uvicorn CMD
- docker-compose.yml: full stack (cAIc, SearXNG, Qdrant, RabbitMQ,
  llama-server, Ollama) with healthchecks, volumes, secrets
- .dockerignore: exclude venv, tests, .git, models, secrets
- .env.example: all variables documented with generation hints
- scripts/setup.sh: first-run scaffolding (generates .env, secrets,
  SearXNG config, directories)
- searxng-settings.yml.dist: SearXNG config template
- models/README.txt: instructions for placing .gguf files
- config.py: add HW_STATE_PATH env var (CAIC_HW_STATE_PATH)
- hardware.py: read state path from config instead of hardcoded CWD
- requirements.txt: add missing psutil and jinja2
This commit is contained in:
gramps
2026-07-19 16:25:57 -07:00
parent 54cca366a4
commit 8fd6c99ccc
10 changed files with 370 additions and 2 deletions
+2 -2
View File
@@ -12,11 +12,11 @@ from pathlib import Path
import httpx
import psutil
from config import LLAMA_SERVER_BASE, SEARXNG_BASE, QDRANT_URL
from config import LLAMA_SERVER_BASE, SEARXNG_BASE, QDRANT_URL, HW_STATE_PATH
log = logging.getLogger("caic")
HARDWARE_STATE_PATH = Path("hardware_state.json")
HARDWARE_STATE_PATH = Path(HW_STATE_PATH)
_TIMEOUT_EXPIRED = subprocess.TimeoutExpired