compose.yaml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. ---
  2. name: "Open Web UI"
  3. description: "A web-based user interface for managing various services"
  4. version: "0.0.1"
  5. date: "2023-10-01"
  6. author: "Christian Lempa"
  7. tags:
  8. - openwebui
  9. - web
  10. - user-interface
  11. ---
  12. services:
  13. openwebui:
  14. image: ghcr.io/open-webui/open-webui:v0.6.26
  15. container_name: openwebui
  16. ports:
  17. - "8080:8080"
  18. environment:
  19. # Ollama Config
  20. - OLLAMA_BASE_URL=http://ollama.example.com:11434
  21. # Authentik SSO Config
  22. - ENABLE_OAUTH_SIGNUP=true
  23. - OAUTH_MERGE_ACCOUNTS_BY_EMAIL=false
  24. - OAUTH_PROVIDER_NAME=authentik
  25. - OPENID_PROVIDER_URL=https://authentik.example.com/application/o/openwebui-slug/.well-known/openid-configuration
  26. - OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID}
  27. - OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET}
  28. - OAUTH_SCOPES=openid email profile
  29. - OPENID_REDIRECT_URI=https://openwebui.example.com/oauth/oidc/callback
  30. volumes:
  31. - data:/app/backend/data:rw
  32. networks:
  33. - frontend
  34. labels:
  35. - traefik.enable=true
  36. - traefik.http.routers.openwebui.rule=Host(`openwebui.example.com`)
  37. - traefik.http.routers.openwebui.entrypoints=websecure
  38. - traefik.http.routers.openwebui.tls=true
  39. - traefik.http.routers.openwebui.tls.certresolver=cloudflare
  40. - traefik.http.routers.openwebui.service=openwebui
  41. - traefik.http.services.openwebui.loadBalancer.server.port=8080
  42. restart: unless-stopped
  43. volumes:
  44. data:
  45. driver: local
  46. networks:
  47. frontend:
  48. external: true