Files
ComfyUI-LM-Remote/__init__.py
Ethanfel 980f406573 feat: initial release of ComfyUI-LM-Remote
Remote-aware LoRA Manager nodes that fetch metadata via HTTP from a
remote Docker instance while loading LoRA files from local NFS/SMB
mounts. Includes reverse-proxy middleware for transparent web UI access.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 00:46:03 +01:00

55 lines
2.3 KiB
Python

"""
ComfyUI-LM-Remote — Remote LoRA Manager integration for ComfyUI.
Provides:
1. A reverse-proxy middleware that forwards all LoRA Manager API/UI/WS
requests to a remote Docker instance.
2. Remote-aware node classes that fetch metadata via HTTP instead of the
local ServiceRegistry, while still loading LoRA files from local
NFS/SMB-mounted paths.
Requires the original ComfyUI-Lora-Manager package to be installed alongside
for its widget JS files and custom widget types.
"""
from __future__ import annotations
import logging
logger = logging.getLogger(__name__)
# ── Import node classes ────────────────────────────────────────────────
from .nodes.lora_loader import LoraLoaderRemoteLM, LoraTextLoaderRemoteLM
from .nodes.lora_stacker import LoraStackerRemoteLM
from .nodes.lora_randomizer import LoraRandomizerRemoteLM
from .nodes.lora_cycler import LoraCyclerRemoteLM
from .nodes.lora_pool import LoraPoolRemoteLM
from .nodes.save_image import SaveImageRemoteLM
from .nodes.wanvideo import WanVideoLoraSelectRemoteLM, WanVideoLoraTextSelectRemoteLM
# ── NODE_CLASS_MAPPINGS (how ComfyUI discovers nodes) ──────────────────
NODE_CLASS_MAPPINGS = {
LoraLoaderRemoteLM.NAME: LoraLoaderRemoteLM,
LoraTextLoaderRemoteLM.NAME: LoraTextLoaderRemoteLM,
LoraStackerRemoteLM.NAME: LoraStackerRemoteLM,
LoraRandomizerRemoteLM.NAME: LoraRandomizerRemoteLM,
LoraCyclerRemoteLM.NAME: LoraCyclerRemoteLM,
LoraPoolRemoteLM.NAME: LoraPoolRemoteLM,
SaveImageRemoteLM.NAME: SaveImageRemoteLM,
WanVideoLoraSelectRemoteLM.NAME: WanVideoLoraSelectRemoteLM,
WanVideoLoraTextSelectRemoteLM.NAME: WanVideoLoraTextSelectRemoteLM,
}
# ── WEB_DIRECTORY tells ComfyUI where to find our JS extensions ───────
WEB_DIRECTORY = "./web/comfyui"
# ── Register proxy middleware ──────────────────────────────────────────
try:
from server import PromptServer # type: ignore
from .proxy import register_proxy
register_proxy(PromptServer.instance.app)
except Exception as exc:
logger.warning("[LM-Remote] Could not register proxy middleware: %s", exc)
__all__ = ["NODE_CLASS_MAPPINGS", "WEB_DIRECTORY"]