tensorlake/ubuntu-minimal.
These images are fully self-contained and ready to launch without additional build or registration steps. Custom image builds and imports follow a separate workflow, detailed in Build and Import Images.
Available Images
tensorlake/ubuntu-minimal(default sandbox image): Minimal Ubuntu, systemd excluded. Recommended for scenarios requiring the lowest cold start latency.tensorlake/ubuntu-systemd: Ubuntu with systemd included. Required for workloads needing service management, such as Docker or Kubernetes, within the sandbox.tensorlake/debian-minimal: Base Debian 13, minimal profile.
tensorlake/ubuntu-vnc: Desktop-enabled Ubuntu derived fromtensorlake/ubuntu-systemd, preinstalled with XFCE, TigerVNC, and Firefox. Intended for browser automation and interactive desktop workloads. See Computer Use for more details.
GPU sandboxes
GPU sandboxes can use the following images:tensorlake/cas/cuda:13.3: CUDA 13.3 toolkit and cuDNN on Ubuntu 24.04 for building and running your own GPU code. Based onnvidia/cuda:13.3.1-cudnn-devel-ubuntu24.04.tensorlake/cas/vllm:0.26: vLLM 0.26 with its OpenAI-compatible server. Model weights aren’t included. Based onvllm/vllm-openai:v0.26.0.tensorlake/cas/sglang:0.5: SGLang 0.5.16 with its server. Model weights aren’t included. Based onlmsysorg/sglang:v0.5.16.
tl-user,
and the upstream image entrypoint is disabled, so nothing starts until you run it.
Example: Create Sandbox
Launch a new sandbox from the Tensorlake-managedtensorlake/ubuntu-systemd image:
- CLI
- Python
- TypeScript
Default User and Working Directory
By default,tensorlake/* images execute commands as tl-user (UID 1000, home /home/tl-user), a non-root user with passwordless sudo. Unlike Standard Docker images, which commonly run as root, this configuration enforces user-level isolation. Tools hardcoded to write to root-owned paths such as /workspace will encounter Permission denied errors. Note: non-interactive commands start from the filesystem root /, so relative commands like touch output.txt may fail unless run from a writable directory. Interactive PTY and SSH sessions default to /home/tl-user.
To resolve Permission denied errors, ensure commands execute from a directory owned by tl-user (e.g., /home/tl-user), or escalate privileges using sudo or —user root. If files are created as root but need to be accessed by tl-user, adjust ownership with chown:
/workspace, include its creation and ownership assignment in a custom image build rather than reconfiguring each new sandbox instance:
Many third-party integrations assume root and default their workdir to
/workspace/<name>. Point them to /home/tl-user/<name>, or use a custom image like the one above. For an example, see the Crabbox guide.Python Packages
Tensorlake Ubuntu and Debian images include a system Python installation managed according to PEP 668. Installing packages withpip requires --break-system-packages flag, unless a virtual environment is used. Omitting this flag results in the externally-managed-environment error.
For ad hoc installation within a running sandbox:
- Python
- TypeScript
requirements.txt and install them during a custom image build, as shown in Build and Register an Image.
Using Tensorlake Images as Build Bases
Anytensorlake/* image can be a FROM base (base_image= in the SDKs). See Build and Import Images for the full workflow.
A Dockerfile that builds on a Tensorlake image doesn’t inherit the
tl-user defaults described above. As in any Docker build, the resulting image runs as root unless its Dockerfile sets USER, and its working directory comes from WORKDIR.See Also
Build and Import Images
Build your own Docker image or import one from a registry and run it in sandboxes.
Computer Use
Drive the XFCE desktop that ships in
tensorlake/ubuntu-vnc.Lifecycle
Learn which sandbox settings you can override at launch time.