Files
esh-pfi-infrastructure/stacks/comfyui/.env.example
T
vh 06476745f1 comfyui: add stack + deploy to irv-ml1
New stack mirroring PFI convention (stacks/comfyui/) using
mmartial/comfyui-nvidia-docker:ubuntu24_cuda12.8-20260312. Both GPUs
exposed, pinned to CUDA 12.8 to match the host's 570.x driver and the
native cuda-toolkit already in place.

Layout — single tree under /worktank/comfyui/ (462G dedicated, 1%
used pre-deploy):
  - basedir/  → /basedir   user state (models, workflows, custom_nodes,
                           input, output); owned 1000:1000 so external
                           tools can edit workflow JSON directly.
  - run/      → /comfy/mnt  ComfyUI source + venv + pip cache (~7.8G
                           after bootstrap). Bind mount instead of
                           named volume — the image refuses to chown
                           mounted paths at startup, so keeping this
                           lkraven-owned avoids the sudo dance.

servers/irv-ml1/README.md refreshed: Docker upgraded to 29.4.1 with
traefik-net in place; dockge + beszel-agent + dozzle-agent already
present; /storetank dropped 92% → 64%; restic coverage to
rest-server-nh3 is operational (not "currently none" as prior text).
2026-04-23 22:56:21 -07:00

52 lines
2.1 KiB
Bash

# ComfyUI stack tunables. Copy to `.env` on irv-ml1 before deploying.
#
# cp .env.example .env
# # edit as needed
# docker compose up -d
# Image tag. Format is `ubuntu<os>_cuda<ver>-<date>`; the floating
# equivalent is `ubuntu<os>_cuda<ver>-latest`.
#
# irv-ml1 runtime constraints:
# - Host driver 570.x → max runtime CUDA 12.8 (per nvidia-smi). Tags
# above 12.8 will fail at runtime on driver/CUDA mismatch even
# though the manifest pulls fine.
# - Host cuda-toolkit is 12.8 to match native Python venvs (ComfyUI,
# SDNext, fluxgym, llama.cpp, etc.) — keep the container in sync.
#
# See https://hub.docker.com/r/mmartial/comfyui-nvidia-docker/tags.
COMFYUI_VERSION=ubuntu24_cuda12.8-20260312
# Host port for the ComfyUI web UI (container listens on 8188)
COMFYUI_PORT=8188
# Bind address. 0.0.0.0 exposes on all interfaces including the WG
# tunnel IP (10.100.79.3) so homepage / the hub side can reach it.
# Use 127.0.0.1 to restrict to local / SSH-forwarded access only.
COMFYUI_BIND=0.0.0.0
# UID/GID the container user runs as. Must match the owner of
# COMFYUI_BASEDIR so workflows, custom nodes, input, and output are
# read/write from both the container and external host tooling.
# On irv-ml1: lkraven = 1000:1000.
COMFYUI_UID=1000
COMFYUI_GID=1000
# Host path for all user state (models, workflows, custom_nodes,
# input, output). Must exist and be chowned to COMFYUI_UID:COMFYUI_GID
# before the first `docker compose up`.
COMFYUI_BASEDIR=/worktank/comfyui/basedir
# Host path for container runtime (ComfyUI source + Python venv +
# pip cache, ~5 GB after bootstrap). Disposable — safe to `rm -rf`
# on version bumps to force a fresh re-bootstrap. Must be owned by
# COMFYUI_UID:COMFYUI_GID.
COMFYUI_RUNDIR=/worktank/comfyui/run
# ComfyUI-Manager security level:
# normal → default; installs custom nodes from vetted sources only.
# weak → permits arbitrary pip installs via Manager. Use only if
# you trust every workflow author you'll import.
# strict → blocks pip installs via Manager entirely.
COMFYUI_SECURITY_LEVEL=normal