Comfy-Org / Comfy-Org/ComfyUI

Feature Request: Support for Following Symlinks in models/, custom_nodes/, and Related Folders

Open
#7,662 2 comments 11 reactions 0 assignees View on GitHub
Feature
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 7h
Merged PRs (30d)
158

Description

### Feature Idea

Hi ComfyUI team! 👋

First off — thanks so much for this incredible project. It's been a joy to work with and experiment on GPU-enabled cloud infrastructure.

✨ Feature Request
Please consider adding support for following symbolic links in the following directories:

models/ (and all recognized subfolders: checkpoints/, loras/, vae/, etc.)

custom_nodes/

Other relevant model/asset folders (e.g., embeddings/, controlnet/, etc.)

💡 Why This Matters
In cloud-based setups (e.g., DigitalOcean, AWS), it's common to:

Store large amounts of model data (>100GB) on persistent block storage volumes

Mount these volumes on boot to a known location (e.g., /mnt/comfyui)

Use symlinks to connect those external folders into the expected ComfyUI structure (/opt/ComfyUI/models, etc.)

This avoids the need to copy or re-download model files for each new droplet or instance, and drastically improves provisioning speed and cost-efficiency.

🧪 Current Behavior
Currently:

Symlinks like /opt/ComfyUI/models -> /mnt/comfyui/models are created and point to valid data.

However, ComfyUI doesn’t appear to load from them as expected — models and nodes don't show up unless the folders are physically copied into the base directory.

✅ Desired Behavior
Please allow ComfyUI to:

Follow symbolic links when scanning model and node folders.

Optionally log a warning or info-level message when a symlink is encountered for transparency.

🧩 Suggested Implementation (Concept)
In areas like folder_paths.py, where directories are loaded, using Python's built-in os.path.islink() check could help:
`if os.path.islink(path) or os.path.isdir(path):
# Continue loading as usual
`

Or you could just rely on os.walk() / os.scandir() which already follow symlinks by default unless followlinks=False is explicitly set.

This minimal change could improve ComfyUI’s portability on modern infrastructure tremendously.

📦 Benefits
More efficient cloud and Docker deployments

Seamless support for persistent model storage

Easier backups and provisioning

Avoids data duplication or excessive I/O

Thanks again for all your hard work! I’d be happy to help test or contribute feedback if you decide to implement this.

🙏

### Existing Solutions

_No response_

### Other

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.