fix(comfyui): correct port 8188->18188, add TLS ingress at comfyui.riotpiao.com (#44)

## Problem
ComfyUI pod restarting 273+ times over 45h. Startup probe failed every time.

## Root Cause
ai-dock image runs ComfyUI on port 18188 (adds 10000 to configured port), not 8188. Caddy does NOT proxy 8188->18188.

## Fix
- deployment: containerPort, probes -> 18188
- service: targetPort -> 18188
- ingress: TLS at comfyui.riotpiao.com, WebSocket headers
- CoreDNS: rewrite comfyui.riotpiao.com

## Post-merge
CoreDNS rewrite needs terraform apply + make apply-cp.
Cloudflare DNS: add CNAME comfyui.riotpiao.com -> tunnel.Reviewed-on: #44

Co-authored-by: rock <[email protected]>
This commit was merged in pull request #44.
This commit is contained in:
2026-09-13 00:18:54 +00:00
committed by rock
parent 682138c664
commit e4f6f03a8c
4 changed files with 19 additions and 8 deletions
+7 -5
View File
@@ -26,13 +26,15 @@ spec:
- name: comfyui
image: ghcr.io/ai-dock/comfyui:v2-cuda-12.1.1-base-22.04
ports:
- containerPort: 8188
- containerPort: 18188
protocol: TCP
env:
- name: NVIDIA_VISIBLE_DEVICES
value: "all"
- name: COMFYUI_FLAGS
value: "--listen 0.0.0.0 --port 8188"
# ai-dock adds 10000 to port: ComfyUI listens on 18188 (localhost)
# caddy is NOT configured to proxy 8188->18188 in this image
- name: COMFYUI_PORT_HOST
value: "18188"
resources:
requests:
cpu: "4"
@@ -50,13 +52,13 @@ spec:
readinessProbe:
httpGet:
path: /
port: 8188
port: 18188
periodSeconds: 10
initialDelaySeconds: 30
startupProbe:
httpGet:
path: /
port: 8188
port: 18188
failureThreshold: 60
periodSeconds: 10
volumes:
+10 -2
View File
@@ -4,16 +4,24 @@ metadata:
name: comfyui
namespace: comfyui
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
# WebSocket support for ComfyUI's live preview
nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
nginx.ingress.kubernetes.io/proxy-set-headers: "Upgrade"
nginx.ingress.kubernetes.io/upstream-hash-by: "$remote_addr"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
spec:
ingressClassName: nginx
tls:
- secretName: comfyui-tls
hosts:
- comfyui.riotpiao.com
rules:
- host: comfy.riotpiao.com
- host: comfyui.riotpiao.com
http:
paths:
- path: /
+1 -1
View File
@@ -10,5 +10,5 @@ spec:
app: comfyui
ports:
- port: 80
targetPort: 8188
targetPort: 18188
protocol: TCP
+1
View File
@@ -37,6 +37,7 @@
rewrite name img.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local
rewrite name api.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local
rewrite name comfy.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local
rewrite name comfyui.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local
rewrite name riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local
kubernetes cluster.local in-addr.arpa ip6.arpa {