AI Chat Stack
Last updated: March 9, 2026
AI Chat Stack
Run MD Planner alongside Ollama (LLM), Chatterbox (TTS), SearXNG (search), and
Caddy (reverse proxy) as a single composed stack.
Prerequisites
Docker, Docker Compose v2. Optional: NVIDIA GPU + Container Toolkit for
hardware-accelerated Ollama and Chatterbox.
Start the stack
docker compose -f deploy/docker-compose.yml up -d
Open http://localhost:8080. All services are accessible through Caddy.
| Service | External URL | Notes |
|---|---|---|
| mdplanner | http://localhost:8080 |
Main application |
| Ollama API | internal only (ollama:11434) |
Configure in AI Chat settings |
| Chatterbox | http://localhost:8080/tts |
Routed via Caddy |
| SearXNG | http://localhost:8080/search |
Routed via Caddy |
AI Chat configuration
In mdplanner, navigate to AI Chat and open the Config panel:
- Ollama URL:
http://ollama:11434(Docker internal hostname) - Chatterbox URL:
http://localhost:8080(through Caddy at/tts) - SearXNG URL:
http://localhost:8080(through Caddy at/search)
GPU support
GPU is disabled by default. To enable NVIDIA GPU for Ollama and/or Chatterbox,
uncomment the deploy block in deploy/docker-compose.yml for the relevant
service. Requires
NVIDIA Container Toolkit.
Volumes
| Volume | Contents |
|---|---|
mdplanner-data |
Project files (/data in container) |
ollama-data |
Downloaded LLM models |
huggingface-cache |
Chatterbox model weights |
searxng-data |
SearXNG cache |
Voice reference WAV files for Chatterbox are bind-mounted from
deploy/chatterbox/references/. Add .wav files there before starting the
stack.
Security
Change the secret_key in deploy/searxng/settings.yml before any
public-facing deployment. The default value is a placeholder.
Management
make -f deploy/Makefile stack-up
make -f deploy/Makefile stack-down
make -f deploy/Makefile stack-logs