Files
selfhosted-traefik/ollama/docker-compose.yml
T
2026-05-03 07:40:52 +00:00

55 lines
1.7 KiB
YAML

networks:
default:
name: traefik_default
external: true
services:
ollama:
container_name: ollama
restart: unless-stopped
image: ollama/ollama:latest
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# Traefik
# - "traefik.enable=true"
# - "traefik.http.routers.ollama.rule=Host(`ollama.${DOMAIN}`)"
# - "traefik.http.routers.ollama.entrypoints=websecure"
# - "traefik.http.routers.ollama.tls.certresolver=myresolver"
# - "traefik.http.routers.ollama.tls=true"
# - "traefik.http.services.ollama.loadbalancer.server.port=11434"
# Basic auth
# - "traefik.http.middlewares.test-auth.basicauth.users=${OLLAMA_USER}:${OLLAMA_PASSWORD_HASH}"
networks:
- default
volumes:
- "./ollama/ollama:/root/.ollama"
ollama-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: ollama-webui
volumes:
- ./ollama/ollama-webui:/app/backend/data
depends_on:
- ollama
environment:
- OLLAMA_BASE_URLS=http://ollama:11434
- ENV=prod
- WEBUI_AUTH=True
- ENABLE_LOGIN_FORM=True
- WEBUI_NAME=${WEBUI_NAME}
- WEBUI_URL=https://chat.${DOMAIN}
- WEBUI_SECRET_KEY=${SECRET}
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
networks:
- default
labels:
- "traefik.enable=true"
- "traefik.http.routers.chat.rule=Host(`chat.${DOMAIN}`)"
- "traefik.http.routers.chat.entrypoints=websecure"
- "traefik.http.routers.chat.tls.certresolver=myresolver"
- "traefik.http.services.chat.loadbalancer.server.port=8080"