iac/docker/AI/docker-compose.yml

105 lines
2.7 KiB
YAML

services:
ollama:
image: ollama/ollama:0.5.4
container_name: ollama
restart: unless-stopped
networks:
- ai-stack
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
open-webui:
image: ghcr.io/open-webui/open-webui:v0.4.8
container_name: open-webui
restart: unless-stopped
networks:
- ai-stack
environment:
- ENABLE_RAG_WEB_SEARCH=True
- RAG_WEB_SEARCH_ENGINE=searxng
- RAG_WEB_SEARCH_RESULT_COUNT=3
- RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
- SEARXNG_QUERY_URL=http://searxng:8080/search?q=<query>
- WEBUI_AUTH_TRUSTED_EMAIL_HEADER=Cf-Access-Authenticated-User-Email
- COMFYUI_BASE_URL=http://stable-diffusion-webui:7860
ports:
- 3000:8080
volumes:
- open-webui:/app/backend/data
extra_hosts:
- host.docker.internal:host-gateway
searxng:
image: searxng/searxng@sha256:d5449358b6acd422887e295d4122ab843df8b04f1552e52842cf41efe94f690d
container_name: searxng
networks:
- ai-stack
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/searxng:/etc/searxng
depends_on:
- ollama
- open-webui
restart: unless-stopped
ports:
- "8081:8080"
stable-diffusion-download:
build: /docker/appdata/stable-diffusion-webui-docker/services/download/
image: comfy-download
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/stable-diffusion-webui-docker/data:/data
stable-diffusion-webui:
build: /docker/appdata/stable-diffusion-webui-docker/services/comfy/
image: comfy-ui
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- CLI_ARGS=
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /docker/appdata/stable-diffusion-webui-docker/data:/data
- /docker/appdata/stable-diffusion-webui-docker/output:/output
stop_signal: SIGKILL
tty: true
deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids: ['0']
capabilities: [compute, utility]
restart: unless-stopped
networks:
- ai-stack
ports:
- "7860:7860"
networks:
ai-stack:
external: true
volumes:
ollama:
external: true
open-webui: