Strategic synthesis. The Linux AI node (VM210) now runs ComfyUI 0.36.0 alongside Ollama, on the same RTX 5090 (32 GB), for local photorealistic image generation. The model used is RealVisXL V5.0 FP16 (a photorealism-oriented SDXL derivative), which produced portraits at 512×512 and 1,024×1,024. The central trade-off is sharing a single, exclusive GPU between image generation and LLM inference: coexistence was observed and unloading models without stopping the servers was verified, but automatic request sharing still needs to be built (manual switching for now). Maturity: active on the target (VM210, Linux), distinct from the earlier Windows POC (VM260), which had tried out SDXL/Flux workflows.
🏗️ Architecture and decisions

ComfyUI 0.36.0 runs in a locally built Docker image on VM210: Python base pinned by digest, sources pinned by commit, dependencies locked with their hashes (wheels downloaded then installed offline). Validated environment: Python 3.12.14, PyTorch 2.11.0, CUDA 13.0. Container and cache-fix details on the Docker page.

Alternative actually explored: an earlier Windows POC (VM260) had tried out ComfyUI via Docker Desktop with SDXL / Flux workflows. This Linux deployment (VM210) is distinct from it and has not yet confirmed Flux usage; only RealVisXL was used and measured here. Since the RTX 5090 is exclusive, VM210 and VM260 do not use it at the same time.

Hardening choices made: unprivileged execution, read-only root filesystem, models mounted read-only, custom and API nodes disabled (without blocking outbound network in general), interface published on loopback only (access via SSH tunnel, no Internet publication).

⚙️ Commands and checks

Account, host and path names replaced with examples. No secret is required. Container and API verification (docker inspect/logs, ollama ps, curl) detailed on the Docker page; GPU telemetry and checkpoint SHA-256 verification on the AI & LLM page.

Reproducible check — accessing the interface via SSH tunnel (from PowerShell, client machine)
$SshTarget = '<compte>@<hote-gpu>'
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:8188:127.0.0.1:8188 $SshTarget

Then open http://127.0.0.1:8188/ on that machine. Terminal silence after authentication is normal: -N opens the tunnel without a remote session. Ctrl+C closes the tunnel but does not stop ComfyUI; an unreachable interface after closing the terminal is therefore not necessarily a server failure.

🛠️ Difficulties and solutions

Symptom: a graph mixing the RealVisXL checkpoint with SD3/AuraFlow nodes was built then discarded (graph incompatibility). A generation cancellation then got stuck, without an exact cause being established; a targeted restart of the container was needed to return to a healthy state. Solution adopted: back to an adapted SDXL graph (consistent with RealVisXL), which then worked normally.

A second incident, described on the Docker page, affected container startup (getpass.getuser() failing for lack of a known UID); it was fixed with environment variables without rebuilding the image.

📊 Evidence and results
session observations — RealVisXL generation (not a benchmark)
TrialObservationScope
512×512 portrait, 8 steps8.03 s (including initial load)Functional validation, not a quality test
1,024×1,024 portrait, 30 stepsImage obtained (DPM++ SDE Karras)Duration not reliably attributed in the log
These are session observations, with no statistical protocol or guarantee of latency or quality. Anatomical realism, poses and quality at scale remain to be evaluated — a successful portrait is not enough to validate these criteria. GPU coexistence measurements (VRAM shared with Ollama, memory release) on the AI & LLM page.
🎯 Skills demonstrated
  • Hardening a ComfyUI container (unprivileged, read-only root FS)
  • Checkpoint integrity verification via SHA-256 hash
  • Sharing an exclusive GPU between LLM inference and image generation
  • Diagnosing ComfyUI graph incompatibility and recovering from a stuck state
  • Secure remote access via SSH tunnel, no Internet publication

Limitations and open work

  • Automatic request sharing between ComfyUI and Ollama still needs to be built (manual switching for now)
  • Anatomical realism, poses and quality at scale remain to be evaluated
  • Use of Flux on this Linux target is not confirmed — only RealVisXL was measured here
  • Agentic/n8n integrations, shared request admission and the restart-after-reboot policy remain open work
  • RealVisXL V5.0 is released under the Open RAIL++ license: available weights do not mean the absence of license restrictions

Related pages

References & Sources

CategoryResourceURL
Official documentationComfyUI — implémentation de l'API utiliséegithub.com/Comfy-Org/ComfyUI — server.py
Diffusion modelRealVisXL V5.0 — dépôt de l'auteur (SG161222)huggingface.co — RealVisXL_V5.0
Diffusion modelStable Diffusion XL (SDXL) — Stability AI, base de RealVisXLhuggingface.co — sdxl-base-1.0
LicenseComfyUI — GPLv3 · RealVisXL V5.0 — Open RAIL++ (poids disponibles ≠ absence de restrictions)—
Fact verificationTrials from September 27–28, 2026 · source sheet verified on 2026-09-28—
Content of this pageShared under CC BY-SA 4.0creativecommons.org/licenses/by-sa/4.0