ComfyUI node-based Stable Diffusion interface. GPU-accelerated image generation with custom node support and CivitAI model downloads. Use 'ujust comfyui' for configuration, lifecycle management, and model/node operations.
/plugin marketplace add atrawog/bazzite-ai-plugins/plugin install atrawog-bazzite-ai-bazzite-ai@atrawog/bazzite-ai-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
ComfyUI is a powerful node-based Stable Diffusion interface for AI image generation. The comfyui command manages the ComfyUI container, including configuration, lifecycle management, model downloads, and custom node management.
Key Concept: This is a system command - run with ujust from anywhere on the system. ComfyUI runs as a Podman Quadlet service. By default, data is ephemeral (stored inside the container). Configure volume mounts for persistent storage.
| Action | Command | Description |
|---|---|---|
| Config | ujust comfyui config [MODELS] [OUTPUT] [INPUT] [NODES] [PORT] [GPU] [IMAGE] [WORKSPACE] | Configure ComfyUI |
| Start | ujust comfyui start | Start ComfyUI server |
| Stop | ujust comfyui stop | Stop ComfyUI server |
| Restart | ujust comfyui restart | Restart ComfyUI server |
| Status | ujust comfyui status | Show status and model counts |
| Logs | ujust comfyui logs | View service logs |
| Open | ujust comfyui open | Open UI in browser |
| Shell | ujust comfyui shell [CMD] [INSTANCE] | Open shell in container |
| Download model | ujust comfyui download <url> <type> | Download from CivitAI |
| List models | ujust comfyui models | List installed models |
| Install node | ujust comfyui node-install <url> | Install custom node |
| List nodes | ujust comfyui node-list | List custom nodes |
| Update nodes | ujust comfyui node-update | Update all nodes |
| Delete | ujust comfyui delete | Remove ComfyUI and images |
ujust comfyui config [MODELS_DIR] [OUTPUT_DIR] [INPUT_DIR] [CUSTOM_NODES_DIR] [PORT] [GPU] [IMAGE] [WORKSPACE]
| Parameter | Default | Description |
|---|---|---|
MODELS_DIR | (empty) | Path for SD models - ephemeral if not set |
OUTPUT_DIR | (empty) | Path for generated images - ephemeral if not set |
INPUT_DIR | (empty) | Path for input images - ephemeral if not set |
CUSTOM_NODES_DIR | (empty) | Path for custom nodes - ephemeral if not set |
PORT | 8188 | Web UI port |
GPU | auto | GPU type: nvidia/amd/intel/auto |
IMAGE | stable | Container image or tag |
WORKSPACE | (empty) | Optional additional mount to /workspace |
Important: All directory parameters default to empty. When empty, data is stored inside the container and will be lost when the container is recreated. For persistent storage, provide explicit paths.
# Ephemeral mode - no persistent storage (data lost on container recreation)
ujust comfyui config
# Persist models only (most common)
ujust comfyui config /data/models
# Persist models and output
ujust comfyui config /data/models /data/output
# Persist models and custom_nodes (skip output and input)
ujust comfyui config /data/models '' '' /data/nodes
# All directories with custom port and GPU
ujust comfyui config /data/models /data/output /data/input /data/nodes 8189 nvidia
# Full configuration with workspace
ujust comfyui config /ssd/models /hdd/output /data/input /data/nodes 8188 nvidia stable /home/user
Running config when already configured will update the existing configuration, preserving values not explicitly changed:
# Initially configured with defaults
ujust comfyui config
# Later, add models directory (other settings preserved)
ujust comfyui config /data/models
# Interactive bash shell
ujust comfyui shell
# Run specific command
ujust comfyui shell "pip list"
ujust comfyui shell "nvidia-smi"
ujust comfyui download <URL> <TYPE>
| Parameter | Description |
|---|---|
URL | CivitAI URL, model ID, or direct download URL |
TYPE | Model type (see below) |
Requires: MODELS_DIR must be configured (not ephemeral)
Model Types:
| Type | Directory | Description |
|---|---|---|
checkpoint | checkpoints/ | Main SD models |
lora | loras/ | LoRA adapters |
vae | vae/ | VAE models |
embedding | embeddings/ | Textual inversions |
controlnet | controlnet/ | ControlNet models |
upscale | upscale_models/ | Upscaler models |
# By CivitAI URL
ujust comfyui download https://civitai.com/models/101055 checkpoint
# By model ID
ujust comfyui download 101055 checkpoint
# LoRA model
ujust comfyui download 123456 lora
# Direct URL
ujust comfyui download https://example.com/model.safetensors vae
ujust comfyui node-install <GIT_URL>
Requires: CUSTOM_NODES_DIR must be configured (not ephemeral)
| Parameter | Description |
|---|---|
GIT_URL | Git repository URL for custom node |
# ComfyUI-Manager (recommended)
ujust comfyui node-install https://github.com/ltdrdata/ComfyUI-Manager
# Impact Pack
ujust comfyui node-install https://github.com/ltdrdata/ComfyUI-Impact-Pack
# ControlNet Aux
ujust comfyui node-install https://github.com/Fannovel16/comfyui_controlnet_aux
# List installed nodes
ujust comfyui node-list
# Update all nodes
ujust comfyui node-update
When no directories are configured, ComfyUI uses internal container directories:
When directories are configured, they are mounted into the container:
/path/to/models/ # Your MODELS_DIR
├── checkpoints/ # Main SD models (.safetensors, .ckpt)
├── loras/ # LoRA adapters
├── vae/ # VAE models
├── embeddings/ # Textual inversions
├── controlnet/ # ControlNet models
└── upscale_models/ # Upscaler models
/path/to/output/ # Your OUTPUT_DIR - generated images
/path/to/input/ # Your INPUT_DIR - input images for img2img
/path/to/custom_nodes/ # Your CUSTOM_NODES_DIR - node extensions
# 1. Configure with persistent models directory
ujust comfyui config /data/comfyui/models
# 2. Download a checkpoint model
ujust comfyui download https://civitai.com/models/101055 checkpoint
# 3. Start ComfyUI
ujust comfyui start
# 4. Open in browser
ujust comfyui open
# 1. Configure with defaults (ephemeral)
ujust comfyui config
# 2. Start ComfyUI
ujust comfyui start
# 3. Open in browser
ujust comfyui open
# Note: Download models via the UI - they will be lost on container recreation
# Start ComfyUI
ujust comfyui start
# Open in browser
ujust comfyui open
# View logs
ujust comfyui logs
# Stop when done
ujust comfyui stop
ComfyUI automatically detects and configures GPU acceleration:
| GPU | Configuration | Performance |
|---|---|---|
| NVIDIA | CDI device passthrough | Full CUDA acceleration |
| AMD | /dev/dri + /dev/kfd | ROCm acceleration |
| Intel | /dev/dri | oneAPI acceleration |
| CPU | Fallback mode | Very slow (not recommended) |
If NVIDIA GPU is not detected:
# Generate CDI specification
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
# Reconfigure ComfyUI
ujust comfyui delete
ujust comfyui config /data/models
Symptom: "No MODELS_DIR configured" or "No CUSTOM_NODES_DIR configured"
Cause: Using ephemeral mode (no directories configured)
Fix: Reconfigure with persistent directories:
# Add models directory
ujust comfyui config /path/to/models
# Or add both models and custom_nodes
ujust comfyui config /path/to/models '' '' /path/to/nodes
Symptom: Downloaded model not visible in ComfyUI
Fix:
# Restart ComfyUI to reload models
ujust comfyui restart
# Verify model is in correct directory
ls /path/to/your/models/checkpoints/
Symptom: Cannot download from CivitAI
Cause: Model requires authentication or is restricted
Fix:
# Download manually and place in appropriate directory
mv ~/Downloads/model.safetensors /path/to/models/checkpoints/
Symptom: CUDA out of memory error
Fix: Check logs and consider using smaller models or lower precision:
ujust comfyui logs
Symptom: ComfyUI fails to start
Fix:
# Check logs for errors
ujust comfyui logs
# Verify GPU access
nvidia-smi
# Delete and reconfigure
ujust comfyui delete
ujust comfyui config /data/models
| File | Purpose | Location |
|---|---|---|
| Instance config | Settings | ~/.config/comfyui/1.env |
| Quadlet file | Service definition | ~/.config/containers/systemd/comfyui-1.container |
ollama (LLM inference), jupyter (notebooks)just build-pod comfyuiUse when the user asks about: