Files
homelab/invokeai/compose.yml
T

63 lines
3.0 KiB
YAML

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