feat: rebuild xiteng.site homelab platform

This commit is contained in:
2026-08-12 09:48:25 +08:00
parent 557b0eca33
commit 5b84988789
128 changed files with 14979 additions and 292 deletions
+68 -1
View File
@@ -1,6 +1,6 @@
services:
outpost:
image: ghcr.io/goauthentik/proxy:2026.5.0
image: ghcr.io/goauthentik/proxy:2026.5.6
container_name: authentik-outpost
restart: unless-stopped
environment:
@@ -21,6 +21,73 @@ services:
- "traefik.http.routers.outpost-http.rule=Host(`outpost.xiteng.site`)"
- "traefik.http.routers.outpost-http.service=outpost"
- "traefik.http.routers.outpost-http.entrypoints=web"
# --- ComfyUI ForwardAuth callback ---
- "traefik.http.routers.comfyui-outpost.rule=Host(`comfy.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.comfyui-outpost.entrypoints=websecure"
- "traefik.http.routers.comfyui-outpost.service=outpost"
- "traefik.http.routers.comfyui-outpost.priority=100"
- "traefik.http.routers.comfyui-outpost.tls=true"
- "traefik.http.routers.comfyui-outpost.tls.certresolver=cfresolver"
- "traefik.http.routers.comfyui-outpost-http.rule=Host(`comfy.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.comfyui-outpost-http.entrypoints=web"
- "traefik.http.routers.comfyui-outpost-http.service=outpost"
- "traefik.http.routers.comfyui-outpost-http.priority=100"
# --- InvokeAI ForwardAuth callback ---
- "traefik.http.routers.invokeai-outpost.rule=Host(`invoke.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.invokeai-outpost.entrypoints=websecure"
- "traefik.http.routers.invokeai-outpost.service=outpost"
- "traefik.http.routers.invokeai-outpost.priority=100"
- "traefik.http.routers.invokeai-outpost.tls=true"
- "traefik.http.routers.invokeai-outpost.tls.certresolver=cfresolver"
- "traefik.http.routers.invokeai-outpost-http.rule=Host(`invoke.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.invokeai-outpost-http.entrypoints=web"
- "traefik.http.routers.invokeai-outpost-http.service=outpost"
- "traefik.http.routers.invokeai-outpost-http.priority=100"
# --- code-server ForwardAuth callback ---
- "traefik.http.routers.code-server-outpost.rule=Host(`code.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.code-server-outpost.entrypoints=websecure"
- "traefik.http.routers.code-server-outpost.service=outpost"
- "traefik.http.routers.code-server-outpost.priority=100"
- "traefik.http.routers.code-server-outpost.tls=true"
- "traefik.http.routers.code-server-outpost.tls.certresolver=cfresolver"
- "traefik.http.routers.code-server-outpost-http.rule=Host(`code.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.code-server-outpost-http.entrypoints=web"
- "traefik.http.routers.code-server-outpost-http.service=outpost"
- "traefik.http.routers.code-server-outpost-http.priority=100"
# --- Xiteng Chat ForwardAuth callback ---
- "traefik.http.routers.xiteng-chat-outpost.rule=Host(`chat.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.xiteng-chat-outpost.entrypoints=websecure"
- "traefik.http.routers.xiteng-chat-outpost.service=outpost"
- "traefik.http.routers.xiteng-chat-outpost.priority=100"
- "traefik.http.routers.xiteng-chat-outpost.tls=true"
- "traefik.http.routers.xiteng-chat-outpost.tls.certresolver=cfresolver"
- "traefik.http.routers.xiteng-chat-outpost-http.rule=Host(`chat.xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.xiteng-chat-outpost-http.entrypoints=web"
- "traefik.http.routers.xiteng-chat-outpost-http.service=outpost"
- "traefik.http.routers.xiteng-chat-outpost-http.priority=100"
# --- Xiteng Portal administration ForwardAuth callback ---
- "traefik.http.routers.xiteng-outpost.rule=Host(`xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.xiteng-outpost.entrypoints=websecure"
- "traefik.http.routers.xiteng-outpost.service=outpost"
- "traefik.http.routers.xiteng-outpost.priority=300"
- "traefik.http.routers.xiteng-outpost.tls=true"
- "traefik.http.routers.xiteng-outpost.tls.certresolver=cfresolver"
- "traefik.http.routers.xiteng-outpost-http.rule=Host(`xiteng.site`) && PathPrefix(`/outpost.goauthentik.io/`)"
- "traefik.http.routers.xiteng-outpost-http.entrypoints=web"
- "traefik.http.routers.xiteng-outpost-http.service=outpost"
- "traefik.http.routers.xiteng-outpost-http.priority=300"
# --- Xiteng Site dynamic catalog ---
- "xiteng.site.component.authentik-outpost.enabled=true"
- "xiteng.site.component.authentik-outpost.name=Authentik Proxy Outpost"
- "xiteng.site.component.authentik-outpost.description=为受保护 Web 服务执行 ForwardAuth 流程。"
- "xiteng.site.component.authentik-outpost.section=infrastructure"
- "xiteng.site.component.authentik-outpost.category=身份与访问"
- "xiteng.site.component.authentik-outpost.access=internal"
- "xiteng.site.component.authentik-outpost.access-label=认证回调组件"
- "xiteng.site.component.authentik-outpost.icon=OP"
- "xiteng.site.component.authentik-outpost.icon-url=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/authentik.svg"
- "xiteng.site.component.authentik-outpost.accent=red"
- "xiteng.site.component.authentik-outpost.order=210"
networks:
- homelab_net