services: << service_name >>: image: ghcr.io/open-webui/open-webui:v0.9.2 container_name: << container_name >> hostname: << container_hostname >> environment: - TZ=<< container_timezone >> - OLLAMA_BASE_URL=<< ollama_base_url >> - WEBUI_URL=<< webui_url >> <%- if authentik_enabled %> - ENABLE_OAUTH_SIGNUP=true - ENABLE_OAUTH_PERSISTENT_CONFIG=false - OAUTH_MERGE_ACCOUNTS_BY_EMAIL=<< oauth_merge_accounts|lower >> - OAUTH_PROVIDER_NAME=authentik - OPENID_PROVIDER_URL=<< openid_provider_url >> - OAUTH_CLIENT_ID=${OAUTH_CLIENT_ID} - OAUTH_CLIENT_SECRET=${OAUTH_CLIENT_SECRET} - OAUTH_SCOPES=<< oauth_scopes >> - OPENID_REDIRECT_URI=<< openid_redirect_uri >> <%- endif %> <%- if traefik_tls_enabled %> - WEBUI_SESSION_COOKIE_SECURE=true <%- endif %> volumes: - data:/app/backend/data:rw <%- if traefik_enabled %> networks: << traefik_network >>: <%- endif %> <%- if not traefik_enabled %> ports: - "<< ports_http >>:8080" <%- endif %> <%- if traefik_enabled %> labels: - traefik.enable=true - traefik.docker.network=<< traefik_network >> - traefik.http.services.<< service_name >>-web.loadBalancer.server.port=8080 - traefik.http.routers.<< service_name >>-http.service=<< service_name >>-web - traefik.http.routers.<< service_name >>-http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`) - traefik.http.routers.<< service_name >>-http.entrypoints=<< traefik_entrypoint >> <%- if traefik_tls_enabled %> - traefik.http.routers.<< service_name >>-https.service=<< service_name >>-web - traefik.http.routers.<< service_name >>-https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`) - traefik.http.routers.<< service_name >>-https.entrypoints=<< traefik_tls_entrypoint >> - traefik.http.routers.<< service_name >>-https.tls=true - traefik.http.routers.<< service_name >>-https.tls.certresolver=<< traefik_tls_certresolver >> <%- endif %> <%- endif %> restart: << restart_policy >> volumes: data: driver: local <%- if traefik_enabled %> networks: << traefik_network >>: external: true <%- endif %>