Files
truenas-stacks/ai/docker-compose.yaml
2026-05-05 12:16:49 -05:00

87 lines
2.2 KiB
YAML

networks:
ai-net:
driver: bridge
ix-databases_shared-databases:
external: true
pangolin:
external: true
services:
ollama:
container_name: ollama
image: ollama/ollama:latest
restart: unless-stopped
networks:
- ai-net
ports:
- "11434:11434"
environment:
TZ: ${TZ}
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DRIVER_CAPABILITIES: compute,utility
volumes:
- /mnt/docker-ssd/docker/appdata/ollama:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
openwebui:
container_name: openwebui
image: ghcr.io/open-webui/open-webui:main
restart: unless-stopped
networks:
- ai-net
- ix-databases_shared-databases
- pangolin
ports:
- "8282:8080"
environment:
TZ: ${TZ}
OLLAMA_BASE_URL: http://ollama:11434
WEBUI_SECRET_KEY: ${OPENWEBUI_SECRET_KEY}
DATABASE_URL: postgresql://openwebui:${OPENWEBUI_DB_PASS}@shared-postgres:5432/openwebui
ENABLE_SIGNUP: "true"
ENABLE_LOGIN_FORM: "true"
volumes:
- /mnt/docker-ssd/docker/appdata/openwebui:/app/backend/data
depends_on:
- ollama
healthcheck:
test: ["CMD-SHELL", "curl -sf http://127.0.0.1:8080/ || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# scriberr:
# container_name: scriberr
# image: ghcr.io/rishikanthc/scriberr-cuda:v1.2.0
# restart: unless-stopped
# privileged: true
# networks:
# - ai-net
# - pangolin
# ports:
# - "8032:8080"
# environment:
# TZ: ${TZ}
# HF_TOKEN: ${HF_TOKEN}
# NVIDIA_VISIBLE_DEVICES: all
# NVIDIA_DRIVER_CAPABILITIES: compute,utility
# volumes:
# - /mnt/docker-ssd/docker/appdata/scriberr:/app/data
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: all
# capabilities: [gpu]
# healthcheck:
# test: ["CMD-SHELL", "curl -sf http://127.0.0.1:8080/ || exit 1"]
# interval: 30s
# timeout: 10s
# retries: 3
# start_period: 60s