renest 0.1.15

Answers

How do I move my whole ComfyUI install, with custom nodes, models and environment, to a new machine or a different cloud?

Copying the folder works only when the new machine closely matches the old one: same operating system, same Python layout, same GPU generation. For anything else, such as a different cloud, a newer GPU or a fresh Linux pod, the dependable way is to bring the files back and reinstall the exact dependency versions on the new machine. A Renest restore does that, checking every file and then running your workflow once.

What folders should I move from my old ComfyUI to the new one?

Inside the ComfyUI folder, the parts that are yours are:

  • models: checkpoints, LoRAs, VAEs, and so on, plus any folders listed in extra_model_paths.yaml if you keep models elsewhere;
  • custom_nodes: each node's code;
  • user: your saved workflows and settings;
  • input, if your workflows load images from it, and output, if you want your results.

Those are files, and copying them is the easy part. What doesn't move by copying is the environment that makes them run: the Python packages each custom node installed, at the versions that worked, and the system libraries those packages load. That's the part that breaks on a different machine.

Can I just copy the whole folder to the new machine?

Yes, when the two machines are nearly the same. The ComfyUI Windows Portable folder carries its own Python, and copying it to another Windows PC with the same GPU generation is what the community does; it works. Between Linux cloud machines on the same image and GPU type, copying the folder with its virtual environment often works too.

It breaks when something underneath changes. A virtual environment refers to the Python it was built with by path. The PyTorch inside it was built for a particular CUDA version and range of GPU generations, so a newer GPU can fail with no kernel image is available for execution on the device, and an older driver can fail with The NVIDIA driver on your system is too old; see errors after changing GPU. And system libraries aren't in the folder at all.

I reinstalled ComfyUI and put my models and custom nodes back. Why are nodes still missing?

Because the folders came back but their Python packages didn't. A fresh ComfyUI has none of the packages your custom nodes installed. Look in the startup log for IMPORT FAILED next to each node; the lines after it say whether a Python package or a system library is missing. Installing each node's requirements.txt brings back the newest versions, not necessarily the ones you had working. See nodes missing or import failed.

I'm switching from RunPod to another cloud. Can my environment come with me?

Not by moving the pod or its volume: those stay with the provider. You need a copy that lives outside the provider. With Renest, that is a nest in your Renest drive, packed from a run that worked and restored on the new provider with one command. The RunPod and vast.ai guides cover renting and preparing a machine on each.

How do I move it with Renest?

On the machine where the workflow works, install the tool and an access key, export the workflow in API format (Export (API) in ComfyUI), and pack from the folder that holds ComfyUI/:

Shell
$ renest pack --dir /workspace --workflow workflow-api.json \
    --out /workspace/nests --dest hosted

The nest holds the model weights, the custom nodes' source pinned to their commits, the workflow, a lock of the exact Python package versions, and which system libraries the run loaded; every file gets a recorded checksum. If the lock can't be reinstalled elsewhere (for example, packages from conda), the pack warns you and marks the nest as not restorable elsewhere, while you still have the working machine to fix it on.

On the new machine, install the tool, open the nest in the web console, choose Restore, and paste the command it gives you. It writes the restore code to grant.json and runs:

Shell
$ renest restore --grant grant.json --dir ./run
$ renest start --dir ./run --listen 0.0.0.0

The restore checks the machine first, downloads every file and checks it against its checksum, installs the locked dependency versions for this machine, starts ComfyUI and runs your workflow once, then reports which steps passed. Models still have to download, so a large nest takes as long as its size does. If the connection drops, run the same command again; files already on disk that match are kept. What to do next is in After the restore.

Files coming back checked and ComfyUI working are counted separately. Our own results, failures included, are on the Proof page. The same seed on a different GPU, or even a different host, may not produce the identical image; see Same GPU, two images.

What does the new machine need?

A Linux machine with an NVIDIA GPU, and enough disk for the nest. The restore's first step refuses, before downloading, a GPU generation the nest's PyTorch build has no code for, a driver too old for its CUDA build, and a CPU without avx2. It names any system library the original run loaded that the machine lacks, with the command to install it, and carries on. It also checks, before the model files download, that the dependency lock can be installed here. Renest doesn't swap PyTorch versions to suit a new GPU: to use a newer generation, get the setup working there once and pack again.

Want to see the path before packing your own? Take a starter nest.

When Renest isn't the answer

  • Windows to Windows, or a desktop install: copy the Portable folder. Renest restores onto Linux machines with an NVIDIA GPU; there is no desktop app yet.
  • Moving ComfyUI to another drive on the same PC: move the folder, or point extra_model_paths.yaml at the new location for models.
  • Same image, same GPU type, same provider: copying the folder, or keeping it on a volume, is simpler.
  • A setup that has never worked: Renest only carries a run that already produced output.

More cases are on When you don't need Renest.

Open format

The docs describe a format you own.

Everything here is written against the open nest format. Every nest ships a plain restore.sh that brings back its files and dependencies with zero Renest code.