services: ollama: image: ${OLLAMA:-ollama/ollama:latest} deploy: resources: reservations: devices: - driver: nvidia capabilities: [gpu] count: all ports: - "11434:11434" volumes: - ollama:/root/.ollama restart: always container_name: ollama 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: VECTOR_DB: chroma CHROMA_HTTP_HOST: chromadb CHROMA_HTTP_PORT: 8000 ENABLE_RAG_LOCAL_WEB_FETCH: True ENABLE_CHANNELS: True USE_CUDA_DOCKER: True ENABLE_REALTIME_CHAT_SAVE: False CONTENT_EXTRACTION_ENGINE: tika TIKA_SERVER_URL: http://tika:9998 ENV: dev ADMIN_EMAIL: adamoutler@gmail.com 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 RAG_TEXT_SPLITTER: character CHUNK_SIZE: 2000 CHUNK_OVERLAP: 200 OAUTH_USERNAME_CLAIM: name OAUTH_MERGE_ACCOUNTS_BY_EMAIL: true ENABLE_OAUTH_SIGNUP: false OAUTH_PROVIDER_NAME: git.adamoutler.com permissions WEBUI_URL: https://ai.hackedyour.info OPENID_PROVIDER_URL: https://git.adamoutler.com/.well-known/openid-configuration OPENID_REDIRECT_URI: https://ai.hackedyour.info/oauth/oidc/callback OLLAMA_BASE_URL: http://ollama:11434 OPENAI_API_KEY: ${OPEN_AI_TOKEN} OAUTH_CLIENT_ID: ${CLIENT_ID} OAUTH_CLIENT_SECRET: ${CLIENT_SECRET} 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 networks: - shared_net volumes: ollama: data: chromadb: networks: shared_net: