63 lines
3.0 KiB
YAML
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
|