renest 0.1.15

Reference

The official base image.

The Renest base image, ghcr.io/renest-ai/nest-base, is a minimal Ubuntu 22.04 (linux/amd64) container image for restoring nests on a rented GPU machine. It contains the renest tool, uv, s5cmd, curl, jq, tar, sha256sum, sshd and a short list of system libraries, and deliberately no torch, ComfyUI, models, CUDA toolkit, C compiler or Python on PATH. Your nest brings its own Python and packages. Upgrade the renest tool first, because the copy in the image is older than the latest release.

A clean starting point for restoring a nest, with the tool already installed

The image is ghcr.io/renest-ai/nest-base. It is Ubuntu 22.04 for linux/amd64 only, and it is published under date tags. A date tag is never overwritten, so a tag always refers to the same bytes. The current image is tagged 20260913, with the digest:

ghcr.io/renest-ai/nest-base@sha256:e31d287a7244cd04f527b03693a7b623c514ec828ae8a5a98072b20264f928d8

It is a floor, not an environment. Nothing in it competes with what the nest brings, so what you restore is what the nest recorded. You don't need it: any Linux machine with an NVIDIA driver visible works, and the pre-flight check tells you whether it fits.

What's in it: the tool, the escape hatch's tools, sshd and a few system libraries

  • renest, on PATH at /usr/local/bin/renest. It runs on its own Python under /opt/renest, which is not on PATH.
  • uv and uvx, which install the Python version and packages the nest's lock names.
  • s5cmd, for transfers.
  • curl, jq, sha256sum, tar and uv: everything the escape hatch needs.
  • sshd, with password login off and root login by key only.
  • System libraries that image and fine-tuning workflows load at runtime and that a minimal Ubuntu leaves out: the X11 client libraries (libx11-6, libxcb1, libxau6, libxdmcp6, libxext6), OpenGL (libgl1, libglx0, libglvnd0) and GLib (libglib2.0-0). Each one is on the list because a real run loaded it, or failed without it.

The versions of uv, s5cmd and renest built into the image are recorded in /opt/renest/versions.env.

What's deliberately not in it, and what that means for you

  • No torch, no ComfyUI, no models. The nest brings them.
  • No CUDA toolkit. PyTorch wheels carry their own CUDA runtime. What matters is the host's GPU driver, which the pre-flight check compares with the nest's lock.
  • No Python on PATH. The restore installs the exact Python version the nest recorded. If you want a spare interpreter, run uv python install 3.11.
  • No C compiler. A workflow that compiles GPU kernels while it runs (some triton paths) won't run on this image. Runtime-level base images generally don't include one either.

On vast.ai, the platform puts its own /usr/bin/python3 into the container when it starts. That interpreter is incomplete (no ensurepip, no venv) and doesn't come from this image. Don't build a virtual environment on it. The restore uses the Python that uv installs.

Upgrade the renest tool before you restore

The copy of renest in the image is the release that was current when the image was built. It is older than the latest release. It lacks renest start, the What's next lines at the end of a restore, and the full nvidia-smi check that spots a broken GPU machine. Make this the first thing you run once you're connected:

Shell
$ uv tool install --upgrade renest
$ export PATH="$HOME/.local/bin:$PATH"
$ renest --version

The version at the bottom of this page is the latest release. If renest --help lists start, you have a copy that includes it.

At start-up it creates /workspace, makes fresh SSH host keys and starts sshd

The image ships with no SSH host keys, so no two machines share them. Its start script (/opt/renest/onstart.sh) does the following each time the container starts, and is safe to run again:

  • creates /workspace;
  • generates SSH host keys and starts sshd on port 22;
  • on RunPod, adds the public key from your account settings (passed in as PUBLIC_KEY) to /root/.ssh/authorized_keys;
  • prints the host's NVIDIA driver version, and puts it in the login message.

On RunPod, leave the template's start command empty; the image runs the script itself. On vast.ai in SSH mode the platform doesn't run the image's own start-up, so the template must set the on-start script to mkdir -p /workspace && bash /opt/renest/onstart.sh. Without it, nothing listens on port 22 and you can't connect. See Renest on RunPod and Renest on vast.ai.

Templates on RunPod and vast.ai are set up with this image

  • RunPod: Open the Renest template on RunPod → This is the platform's referral link. The template pins the image by digest.
  • vast.ai: Open the Renest template on vast.ai → This is the platform's referral link. The template pins the date tag, which is never overwritten.

The hosted Renest service is run by the same people who make this image. Renest doesn't rent machines: the machine and its bill are in your own account with the platform.

The image has no single licence, so its metadata says NOASSERTION

The image mixes Ubuntu packages (many under GPL or LGPL), uv (MIT or Apache-2.0), s5cmd (MIT), and the renest tool, which is source-available and not open source. No single licence covers all of it, so the image's licence label is NOASSERTION. Each component keeps its own licence.

Inside the image, /usr/share/doc/renest-floor/ holds the notices, the written offer for the source code of the GPL and LGPL components, a list of the Ubuntu packages and their versions, and the licence texts. To get that source from us, see the source code offer. For the licences of Renest's own parts, see Licensing.

Any image works; this one is the default when a nest's own image is gone

A nest records the image it was packed on. If you'd rather use that image, or another one you already use, you can. The restore needs only a Linux machine where the GPU driver is visible, and the pre-flight check says whether it fits. If the nest's own image is no longer available, this one is the replacement to reach for. When choosing another, compare three things rather than the image name: the glibc generation (the same or newer, never older), the Python version (the restore installs it either way), and the host driver against the nest's CUDA line. renest doctor checks the last one.

These docs describe renest 0.1.15, the latest release.

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.