services: invokeai: image: ghcr.io/invoke-ai/invokeai:6.13.7-cuda container_name: invokeai restart: unless-stopped environment: INVOKEAI_ROOT: /invokeai INVOKEAI_HOST: 0.0.0.0 INVOKEAI_PORT: 9090 volumes: - ./data:/invokeai:rw deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] networks: - homelab_net labels: # Traefik - "traefik.enable=true" - "traefik.http.routers.invokeai.rule=Host(`invoke.xiteng.site`)" - "traefik.http.routers.invokeai.entrypoints=websecure" - "traefik.http.routers.invokeai.tls=true" - "traefik.http.routers.invokeai.tls.certresolver=cfresolver" - "traefik.http.routers.invokeai.service=invokeai" - "traefik.http.routers.invokeai.middlewares=invokeai-scheme,invokeai-auth" - "traefik.http.services.invokeai.loadbalancer.server.port=9090" - "traefik.http.routers.invokeai-http.rule=Host(`invoke.xiteng.site`)" - "traefik.http.routers.invokeai-http.entrypoints=web" - "traefik.http.routers.invokeai-http.service=invokeai" - "traefik.http.routers.invokeai-http.middlewares=invokeai-scheme,invokeai-auth" - "xiteng.site.cache.invokeai.enabled=true" - "xiteng.site.cache.invokeai.routers=invokeai,invokeai-http" - "xiteng.site.cache.invokeai.paths=/assets/,/static/,/css/,/js/" - "xiteng.site.cache.invokeai.edge-ttl=604800" - "xiteng.site.cache.invokeai.stale-while-revalidate=86400" # Authentik ForwardAuth - "traefik.http.middlewares.invokeai-scheme.headers.customrequestheaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.invokeai-auth.forwardauth.address=http://authentik-outpost:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.invokeai-auth.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.invokeai-auth.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name" - "xiteng.site.component.invokeai.enabled=true" - "xiteng.site.component.invokeai.name=InvokeAI" - "xiteng.site.component.invokeai.description=图像生成、画布编辑、图库和模型管理工作台。" - "xiteng.site.component.invokeai.section=services" - "xiteng.site.component.invokeai.category=AI" - "xiteng.site.component.invokeai.url=https://invoke.xiteng.site" - "xiteng.site.component.invokeai.access=sso" - "xiteng.site.component.invokeai.access-label=需要 Authentik" - "xiteng.site.component.invokeai.icon=IA" - "xiteng.site.component.invokeai.icon-url=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/invoke-ai.svg" - "xiteng.site.component.invokeai.accent=purple" - "xiteng.site.component.invokeai.order=220" - "xiteng.site.component.invokeai.monitor.enabled=true" - "xiteng.site.component.invokeai.monitor.url=http://invokeai:9090" networks: homelab_net: external: true