Uncloud Cluster Playground
A multi-node Uncloud cluster with a standalone control node. About Uncloud: https://github.com/psviderski/uncloud
Uncloud is a lightweight alternative to Kubernetes for deploying and managing containerised applications across a network of Docker hosts.
Useful links:
Playground
In this playground you are given access to an already initialized Uncloud cluster of 2 nodes: server-1 and server-2.
The control node (dev-machine) has the uc command line client installed so you can interact with the cluster right away.
For example, run the following commands from dev-machine:
# List all machines in the cluster
uc machine ls
# Run an Nginx instance in the cluster
uc run nginx:latest
# Run an Nginx instance and make it reachable via the provided hostname
uc run nginx:latest -n web -p app.example.com:80/http
# Verify that Nginx is working by sending an HTTP request with the correct "Host" header
curl -H 'Host: app.example.com' server-1
# The webpage will also be available in the "WebServer" tab above.
# Open a shell inside the Nginx container
uc exec web
# Scale the Nginx service from 1 to 2 containers (each running on a different server node)
uc scale web 2
Issues? Suggestions?
If you face any problems with the playground, open an issue on https://github.com/unlabs-dev/uncloud-labs/
A real VM, not a container
Get root on a VM with its own kernel, so Docker, Kubernetes, and systemd just work.
Read the docs →
SSH from browser or CLI
Use the built-in web terminal, or connect with labctl ssh, plain ssh, scp, or rsync.
Read the docs →
Drive it with AI
Let Claude, Codex, or any MCP client start this playground and run commands in it.
Read the docs →
Expose HTTP(S) ports
Give any web app running inside the VM a public URL - for yourself or to share with others.
Read the docs →
Share terminals
Invite others into your terminal session, or open it yourself from another device.
Read the docs →
Customize with init scripts
Add shell scripts that run at boot to install packages, clone repos, or seed test data.
Read the docs →
Private networking
VMs reach the internet via NAT with no public IP; several VMs share bridge networks.
Read the docs →
Ephemeral or persistent
By default, VMs are destroyed when the session ends; enable persistence to keep the disks for next time.
Read the docs →
Built-in container registry
A private registry.iximiuz.com for every playground to share images across services and VMs.
Read the docs →