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 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: