Files

63 lines
3.1 KiB
YAML

services:
comfyui:
build:
context: .
image: xiteng-comfyui:0.31.0-manager-4.2.2
container_name: comfyui
restart: unless-stopped
entrypoint: ["/bin/bash", "/entrypoint-patched.sh"]
environment:
USER_ID: ${COMFYUI_USER_ID:-1000}
GROUP_ID: ${COMFYUI_GROUP_ID:-1000}
PYTHONPATH: /opt/comfyui-manager
command: ["--cpu", "--enable-manager"]
volumes:
- ./entrypoint.sh:/entrypoint-patched.sh:ro
- ./models:/opt/comfyui/models:rw
- ./custom_nodes:/opt/comfyui/custom_nodes:rw
- ./output:/opt/comfyui/output:rw
networks:
- homelab_net
labels:
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.comfyui.rule=Host(`comfy.xiteng.site`)"
- "traefik.http.routers.comfyui.entrypoints=websecure"
- "traefik.http.routers.comfyui.tls=true"
- "traefik.http.routers.comfyui.tls.certresolver=cfresolver"
- "traefik.http.routers.comfyui.service=comfyui"
- "traefik.http.routers.comfyui.middlewares=comfyui-scheme,comfyui-auth"
- "traefik.http.services.comfyui.loadbalancer.server.port=8188"
- "traefik.http.routers.comfyui-http.rule=Host(`comfy.xiteng.site`)"
- "traefik.http.routers.comfyui-http.entrypoints=web"
- "traefik.http.routers.comfyui-http.service=comfyui"
- "traefik.http.routers.comfyui-http.middlewares=comfyui-scheme,comfyui-auth"
- "xiteng.site.cache.comfyui.enabled=true"
- "xiteng.site.cache.comfyui.routers=comfyui,comfyui-http"
- "xiteng.site.cache.comfyui.paths=/assets/,/static/"
- "xiteng.site.cache.comfyui.edge-ttl=604800"
- "xiteng.site.cache.comfyui.stale-while-revalidate=86400"
# Authentik ForwardAuth
- "traefik.http.middlewares.comfyui-scheme.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.comfyui-auth.forwardauth.address=http://authentik-outpost:9000/outpost.goauthentik.io/auth/traefik"
- "traefik.http.middlewares.comfyui-auth.forwardauth.trustForwardHeader=true"
- "traefik.http.middlewares.comfyui-auth.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name"
- "xiteng.site.component.comfyui.enabled=true"
- "xiteng.site.component.comfyui.name=ComfyUI"
- "xiteng.site.component.comfyui.description=节点式图像生成、模型与工作流实验环境。"
- "xiteng.site.component.comfyui.section=services"
- "xiteng.site.component.comfyui.category=AI"
- "xiteng.site.component.comfyui.url=https://comfy.xiteng.site"
- "xiteng.site.component.comfyui.access=sso"
- "xiteng.site.component.comfyui.access-label=需要 Authentik"
- "xiteng.site.component.comfyui.icon=CU"
- "xiteng.site.component.comfyui.icon-url=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/comfyui.svg"
- "xiteng.site.component.comfyui.accent=red"
- "xiteng.site.component.comfyui.order=210"
- "xiteng.site.component.comfyui.monitor.enabled=true"
- "xiteng.site.component.comfyui.monitor.url=http://comfyui:8188"
networks:
homelab_net:
external: true