Create docker-compose.yml
This commit is contained in:
@@ -0,0 +1,74 @@
|
|||||||
|
# ~/docker/ai-llm/docker-compose.yml
|
||||||
|
#
|
||||||
|
# ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
# USAGE
|
||||||
|
# ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
#
|
||||||
|
# Before starting this stack, stop InvokeAI via the portal.
|
||||||
|
#
|
||||||
|
# Start:
|
||||||
|
# cd ~/docker/ai-llm && docker compose up -d
|
||||||
|
#
|
||||||
|
# Pull models (run once per model):
|
||||||
|
# docker exec ai-llm-ollama-1 ollama pull qwen2.5-coder:7b
|
||||||
|
# docker exec ai-llm-ollama-1 ollama pull qwen2.5:7b
|
||||||
|
# docker exec ai-llm-ollama-1 ollama pull llava:7b
|
||||||
|
#
|
||||||
|
# Open WebUI → https://chat.mydomain.com
|
||||||
|
#
|
||||||
|
# After starting, enable web search in Open WebUI:
|
||||||
|
# Settings → Web Search → Enable → SearXNG → http://searxng:8080
|
||||||
|
# ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# ── Ollama ───────────────────────────────────────────────────────────────────
|
||||||
|
ollama:
|
||||||
|
image: ollama/ollama:latest
|
||||||
|
pull_policy: missing
|
||||||
|
environment:
|
||||||
|
- TZ=America/New_York
|
||||||
|
volumes:
|
||||||
|
- ./data/ollama:/root/.ollama
|
||||||
|
ports:
|
||||||
|
- "11434:11434"
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- driver: nvidia
|
||||||
|
count: 1
|
||||||
|
capabilities: [gpu]
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ── Open WebUI ───────────────────────────────────────────────────────────────
|
||||||
|
open-webui:
|
||||||
|
image: ghcr.io/open-webui/open-webui:user0
|
||||||
|
pull_policy: missing
|
||||||
|
volumes:
|
||||||
|
- ./data/open-webui:/app/backend/data
|
||||||
|
ports:
|
||||||
|
- "3000:8080"
|
||||||
|
environment:
|
||||||
|
- TZ=America/New_York
|
||||||
|
- OLLAMA_BASE_URL=http://ollama:11434
|
||||||
|
- SEARXNG_QUERY_URL=http://searxng:8080/search?q=<query>&format=json
|
||||||
|
depends_on:
|
||||||
|
- ollama
|
||||||
|
- searxng
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ── SearXNG ──────────────────────────────────────────────────────────────────
|
||||||
|
# Privacy-respecting meta search — no API key needed
|
||||||
|
# Open WebUI Settings → Web Search → SearXNG → http://searxng:8080
|
||||||
|
searxng:
|
||||||
|
image: searxng/searxng:latest
|
||||||
|
pull_policy: missing
|
||||||
|
volumes:
|
||||||
|
- ./data/searxng:/etc/searxng
|
||||||
|
environment:
|
||||||
|
- TZ=America/New_York
|
||||||
|
- SEARXNG_BASE_URL=http://searxng:8080
|
||||||
|
expose:
|
||||||
|
- 8080
|
||||||
|
restart: unless-stopped
|
||||||
Reference in New Issue
Block a user