networks: traefik-public: external: true volumes: open_webui: {} services: open_webui: image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG:-main} environment: - DOMAIN=${DOMAIN} - PORT=${OPEN_WEBUI_PORT:-8080} - WEBUI_URL=http://localhost:${OPEN_WEBUI_PORT:-8080} - ENABLE_OLLAMA_API=${ENABLE_OLLAMA_API:-false} volumes: - open_webui:/app/backend/data expose: - ${OPEN_WEBUI_PORT:-8080} networks: - traefik-public deploy: placement: constraints: - node.labels.open_webui.open_webui == true labels: - traefik.enable=true - traefik.docker.network=traefik-public - traefik.constraint-label=traefik-public - traefik.http.routers.open_webui.entrypoints=https - traefik.http.routers.open_webui.rule=Host(`bot.${DOMAIN}`) - traefik.http.routers.open_webui.tls.certresolver=le - traefik.http.routers.open_webui.service=open_webui_app - traefik.http.services.open_webui_app.loadbalancer.server.port=${OPEN_WEBUI_PORT:-8080}