Skip to content

ADV1K/linux-playground

Repository files navigation

Linux Playground

Linux Playground is a lightweight platform for spinning up ephemeral or persistent Linux VMs with terminal access directly in the browser. It’s designed for experimentation, teaching, and building reproducible Linux environments.


Demo


Architecture

Each VM is backed by Firecracker and runs a custom Go-based init system. The init process sets up the root filesystem, networking, cgroups, and exposes a gRPC server over vsock for control.

A separate Go service manages VM lifecycles, proxies commands over WebSockets, and ensures isolation and resource efficiency.

The web interface is built with Go + Templ + Tailwind + HTMX + xterm.js, providing an interactive terminal and a simple, fast UI.


Use Cases

  • Run Linux environments for testing, learning, or prototyping
  • Teach OS, networking, or containerization concepts in-browser
  • Safely sandbox and run untrusted workloads
  • Experiment with custom init systems and minimal Linux setups

About

Boot temporary or permanent VMs from Docker images with both web and SSH access.

Resources

Stars

Watchers

Forks