Files
Loki/docker-compose.yml

56 lines
1.9 KiB
YAML

services:
loki:
build: .
container_name: loki
ports:
# Un seul numéro de port, identique dedans/dehors.
- "${PORT:-8717}:${PORT:-8717}"
environment:
- OLLAMA_HOST=${OLLAMA_HOST:-http://host.docker.internal:11434}
- DEFAULT_MODEL=${DEFAULT_MODEL:-gemma4:12b}
- WORKSPACE_DIR=/workspace
- DATA_DIR=/data
- PORT=${PORT:-8717}
# Optionnel : instance SearxNG pour web_search (sinon DuckDuckGo)
- SEARX_URL=${SEARX_URL:-}
volumes:
- ./workspace:/workspace
- ./data:/data
extra_hosts:
# Permet d'atteindre un Ollama installé sur la machine hôte
- "host.docker.internal:host-gateway"
# Le HEALTHCHECK est défini dans l'image (utilise automatiquement $PORT).
restart: unless-stopped
# ── Ollama optionnel ──────────────────────────────────────────────────
# Par défaut, Loki se connecte à un Ollama déjà présent sur l'hôte.
# Pour embarquer Ollama dans la stack, lance : docker compose --profile ollama up
# et règle OLLAMA_HOST=http://ollama:11434
ollama:
image: ollama/ollama:latest
container_name: loki-ollama
profiles: ["ollama"]
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
- OLLAMA_FLASH_ATTENTION=1
- OLLAMA_KV_CACHE_TYPE=q8_0
ports:
- "11434:11434"
volumes:
- ollama-models:/root/.ollama
# Accès GPU NVIDIA : sans ceci, l'Ollama embarqué tourne en CPU (très lent).
# Nécessite le NVIDIA Container Toolkit installé sur l'hôte. Si tu n'as pas
# de GPU NVIDIA, commente tout le bloc `deploy:` ci-dessous.
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: ["gpu"]
restart: unless-stopped
volumes:
ollama-models: