Files
Effi/docker-compose.litellm.yml
T
Folzo 1b4764e9fa fix(litellm): open-webui via OpenAI API (pas Ollama) + 3 profils Qwen3.6
LiteLLM expose l'API OpenAI /v1/* pas l'API Ollama /api/*. open-webui
doit etre branche via la section 'OpenAI API' (env OPENAI_API_BASE_URL +
OPENAI_API_KEY), pas via 'Ollama'. L'override ajoute ces vars a open-webui,
force-recreate pour propager. Confirme en prod: HTTP 200 sur :4000/v1/models
depuis le conteneur open-webui. Les 4 modeles Qwen3.6 remontent dans le chat.
2026-06-27 16:51:51 +02:00

66 lines
3.5 KiB
YAML

# ═══════════════════════════════════════════════════════════
# OVERRIDE litellm — Ajoute LiteLLM + jean-proxy a la stack Effi
# + configure open-webui pour parler a LiteLLM en mode OpenAI API
#
# Usage (depuis /home/effi/effi sur serveur Effi) :
# docker compose -f docker-compose.yml -f docker-compose.litellm.yml up -d --build
#
# IMPORTANT : cet override modifie open-webui (ajoute OPENAI_API_BASE_URL +
# OPENAI_API_KEY + remet OLLAMA_BASE_URL sur le wol-proxy originel :3011).
# open-webui sera recree a la prochaine 'up --force-recreate' pour propager.
# LiteLLM expose l'API OpenAI (/v1/*), pas l'API Ollama (/api/*) — donc
# open-webui DOIT etre configure via la section "OpenAI API" (admin UI)
# et non via la section "Ollama".
# ═══════════════════════════════════════════════════════════
services:
# ─────────────────────────────────────────────────────────
# open-webui — repointe vers LiteLLM via connexion OpenAI API
# L'ancien backend Ollama (wol-proxy :3011) reste configuré pour
# retrocomparabilité mais le LLM Jhon/Ollama n'est plus accessible
# la nuit (contention VRAM). Le routing par modele se fait cote LiteLLM.
# ─────────────────────────────────────────────────────────
open-webui:
environment:
- OLLAMA_BASE_URL=http://host.docker.internal:3011
- OPENAI_API_BASE_URL=http://host.docker.internal:4000/v1
- OPENAI_API_KEY=sk-effi-litellm-master
- ENABLE_OPENAI_API=True
# ─────────────────────────────────────────────────────────
# 1. jean-proxy — Reverse-proxy vers Jean (.11:8080) + WOL
# Clone du wol-proxy, meme MAC cible, port cible = 8080
# Ecoute :3012 sur le host (network_mode: host)
# ─────────────────────────────────────────────────────────
jean-proxy:
build: ./jean-proxy
container_name: jean-proxy
restart: unless-stopped
network_mode: host
environment:
- TARGET_HOST=${OLLAMA_HOST}
- TARGET_PORT=8080
- TARGET_MAC=${PC_GAMING_MAC}
- LISTEN_PORT=3012
- WAKE_TIMEOUT=60
- CHECK_INTERVAL=5
- BROADCAST_IP=${BROADCAST_IP}
# ─────────────────────────────────────────────────────────
# 2. LiteLLM proxy — Endpoint OpenAI unique pour open-webui
# Ecoute :4000 sur le host (network_mode: host pour joindre
# wol-proxy :3011 et jean-proxy :3012 sur le host)
# ─────────────────────────────────────────────────────────
litellm:
image: ghcr.io/berriai/litellm:main-stable
container_name: litellm
restart: unless-stopped
network_mode: host
volumes:
- ./litellm/config.yaml:/app/config.yaml:ro
command:
- "--config=/app/config.yaml"
- "--port=4000"
- "--num_workers=1"