---
title: Docker Services
area: infrastructure
tags: [infrastructure, homelab, docker]
created: 2026-03-18
updated: 2026-05-27
status: active
related: [[Infrastructure/Architecture]], [[Infrastructure/Automation/n8n Workflows]]
---

# Docker Services

Most service containers run on Will's laptop/host network and publish local/LAN ports. Current host LAN IPs include `192.168.153.130` and `192.168.153.141`; older `192.168.153.113` / `.117` URLs should be treated as historical unless re-verified.

## Dockerized services

### SearXNG
- **Container:** `searxng`
- **Image:** `searxng/searxng:latest`
- **Port:** `18803 -> 8080`
- **Role:** preferred local-first web search backend
- **URLs:** `http://127.0.0.1:18803`, `http://192.168.153.130:18803`

### brave-search (MCP)
- **Container:** `brave-search`
- **Image:** `mcp/brave-search:latest`
- **Port:** `18802 -> 8000`
- **Role:** Brave-backed search fallback / second opinion
- **Note:** free-plan rate-limited; avoid parallel bursts

### n8n-agent
- **Container:** `n8n-agent`
- **Image:** `docker.n8n.io/n8nio/n8n:latest`
- **Port:** `18808 -> 5678`
- **Role:** automation workflows and integration runtime
- **Primary URL:** `http://127.0.0.1:18808` / `http://192.168.153.130:18808`
- **Health:** `/healthz` returned HTTP 200 during live check on 2026-05-27
- **Workflows:** see [[Infrastructure/Automation/n8n Workflows]]

### whisper-server
- **Container:** `whisper-server`
- **Image:** `ghcr.io/ggml-org/whisper.cpp:main`
- **Port:** `18801 -> 8080`
- **Role:** local audio transcription

### kokoro-tts
- **Container:** `kokoro-tts`
- **Port:** `18805`
- **Role:** local CPU TTS service

### LiteLLM proxy + DB
- **Containers:** `litellm`, `litellm-db`
- **Port:** `18804`
- **Role:** OpenAI-compatible model gateway / proxy layer
- **Pinned note:** keep LiteLLM at `<=1.82.6` due the 2026-03-24 supply-chain incident affecting `1.82.7` / `1.82.8`

## Adjacent host services (not Docker)

### llama.cpp
- **Port:** `18806`
- **Model:** `gemma-4-26B-A4B-it-UD-IQ2_M.gguf`
- **Role:** local OpenAI-compatible LLM endpoint for private/offline reasoning and workflow inference
- **Live check:** `/v1/models` returned Gemma 4 26B GGUF on 2026-05-27

### Ollama
- **Port:** `18807`
- **Role:** legacy/rollback embeddings runtime for memory/RAG search
- **Model:** `nomic-embed-text`

### OpenVINO embeddings
- **Port:** `18817`
- **Unit:** `openvino-embeddings.service`
- **Role:** default embeddings service for live Obsidian RAG via Intel NPU
- **Model:** `bge-base-en-v1.5-int8-ov`
- **Health:** `http://127.0.0.1:18817/health`

## Adjacent storage / infra

### MinIO
- **Endpoint:** `192.168.153.253:9000`
- **Bucket:** `atlas` for current Atlas/Hermes backups; legacy `zap` bucket still exists for old OpenClaw-era artifacts
- **Role:** object storage for Atlas/Hermes backups

## Operational note

The shared Obsidian vault is not a Docker service, but it is a critical part of this stack. Current path is `/home/will/lab/swarm/swarm-common/obsidian-vault/will/will-shared-zap`; `findmnt` showed it on host btrfs on 2026-05-27. Older VM/`virtiofs` permission notes are historical.
