open-webui-ollama-docker-de.../docker-compose.yaml
Adam Outler e53195dff4
All checks were successful
Updates/open-webui-ollama-docker-deploy/pipeline/head This commit looks good
Update docker-compose.yaml
2025-04-24 02:47:51 +00:00

181 lines
4.5 KiB
YAML

services:
ollama1: #For GPU 0
image: ${OLLAMA:-ollama/ollama:latest}
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
device_ids: ['0']
volumes:
- ollama-small:/root/.ollama
ports:
- 11434:11434
restart: always
container_name: ollamasmall
environment:
OLLAMA_KEEP_ALIVE: -1
networks:
- shared_net
ollama2: #For GPU 1
image: ${OLLAMA:-ollama/ollama:latest}
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
device_ids: ['1']
volumes:
- ollama:/root/.ollama
restart: always
container_name: ollamalarge
environment:
OLLAMA_KEEP_ALIVE: -1
networks:
- shared_net
open_webui:
container_name: openwebui
image: ${OPENWEBUI:-ghcr.io/open-webui/open-webui:main}
ports:
- "3000:8080"
volumes:
- data:/app/backend/data
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
count: all
restart: always
networks:
- shared_net
environment:
# Privacy
SCARF_NO_ANALYTICS: True
DO_NOT_TRACK: True
ANONYMIZED_TELEMETRY: True
# General
WEBUI_URL: https://ai.hackedyour.info
ADMIN_EMAIL: adamoutler@gmail.com
ENABLE_CHANNELS: True
USE_CUDA_DOCKER: True
ENABLE_REALTIME_CHAT_SAVE: False
ENV: dev
#Database
DATABASE_URL: postgresql://openwebui_user:${PG_PASS}@openwebui_postgres_db:5432/openwebui_db
# Ollama
OLLAMA_BASE_URL: http://ollama1:11434
OLLAMA_BASE_URLS: http://ollama1:11434;http://ollama2:11434
# OpenAI
OPENAI_API_KEY: ${OPEN_AI_TOKEN}
# RAG
RAG_TEXT_SPLITTER: character
CHUNK_SIZE: 1000
CHUNK_OVERLAP: 100
VECTOR_DB: chroma
CHROMA_HTTP_HOST: chromadb
CHROMA_HTTP_PORT: 8000
ENABLE_RAG_LOCAL_WEB_FETCH: True
# TIKA
CONTENT_EXTRACTION_ENGINE: tika
TIKA_SERVER_URL: http://tika:9998
# LDAP
ENABLE_LOGIN_FORM: true
ENABLE_SIGNUP: false
ENABLE_LDAP: true
LDAP_APP_DN: ${AD_BIND_USER}
LDAP_APP_PASSWORD: ${AD_BIND_PASSWORD}
LDAP_ATTRIBUTE_FOR_USERNAME: sAMAccountName
LDAP_ATTRIBUTE_FOR_MAIL: mail
LDAP_SEARCH_BASE: CN=Users,DC=activedirectory,DC=adamoutler,DC=com
LDAP_SEARCH_FILTERS: (&(memberOf=CN=AI,OU=Groups,dc=activedirectory,dc=adamoutler,dc=com))
LDAP_SERVER_HOST: 192.168.1.100
LDAP_SERVER_LABEL: FluffysNet
LDAP_SERVER_PORT: 389
LDAP_USE_TLS: false
# OAUTH
ENABLE_OAUTH_SIGNUP: false
OAUTH_PROVIDER_NAME: git.adamoutler.com permissions
OPENID_PROVIDER_URL: https://git.adamoutler.com/.well-known/openid-configuration
OPENID_REDIRECT_URI: https://ai.hackedyour.info/oauth/oidc/callback
OAUTH_CLIENT_ID: ${CLIENT_ID}
OAUTH_CLIENT_SECRET: ${CLIENT_SECRET}
OAUTH_USERNAME_CLAIM: name
OAUTH_MERGE_ACCOUNTS_BY_EMAIL: true
# Redis Support
ENABLE_WEBSOCKET_SUPPORT: True
WEBSOCKET_MANAGER: redis # This is the default, no need to set explicitly unless changing
WEBSOCKET_REDIS_URL: redis://redis:6379/0
REDIS_URL: redis://redis:6379/0 # Also set for app state, using the same instance
tika:
image: ${TIKA:-apache/tika:latest}
ports:
- "9998:9998"
restart: always
container_name: tika
networks:
- shared_net
chromadb:
container_name: chromadb
image: ${CHROMADB:-chromadb/chroma:latest}
restart: always
volumes:
- chromadb:/chroma # Persist database storage
environment:
IS_PERSISTENT: TRUE # Enable persistent storage
ALLOW_RESET: TRUE
CHROMA_SERVER_ENABLE_RESET: TRUE
networks:
- shared_net
redis:
image: redis:alpine
container_name: redis
restart: always
volumes:
- redis_data:/data
networks:
- shared_net
openwebui_postgres_db: # Renamed service key (lowercase)
image: postgres:latest
container_name: openwebui_postgres_db # Keep container name consistent
restart: always
environment:
POSTGRES_DB: openwebui_db
POSTGRES_USER: openwebui_user
POSTGRES_PASSWORD: ${PG_PASS}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- shared_net
volumes:
ollama:
ollama-small:
data:
chromadb:
redis_data:
postgres_data:
networks:
shared_net: