Alpine Linux
v3.20.10
A tiny musl-based distribution. This is the root filesystem behind the terminal.
This page is served by Apache and rendered by PHP inside an Alpine Linux container. The terminal next door gives you a root shell in that very same container, with OpenCode AI installed and ready to run.
No VM, no SSH client — just a container and a WebSocket.
$ cat /etc/alpine-release
3.20.10
$ php -v
PHP 8.3.36 (cli) (NTS)
$ httpd -v
Server version: Apache/2.4.67
$ opencode --version
opencode v2.3.0
$ python3 --version
Python 3.12.13
$ go version
go1.22.10
$ echo $WEBVM
1
Everything runs inside a single Alpine Linux image, supervised by supervisord.
v3.20.10
A tiny musl-based distribution. This is the root filesystem behind the terminal.
8.3.36
Runs as an Apache module via mod_php. This page is the proof.
Apache/2.4.67
Listens on port 80 inside the container and serves the site and PHP handler.
v2.3.0
An AI coding agent in the terminal. Run opencode or use the OpenCode button in the web terminal.
Python, Go, C/C++ and SQLite are installed in the same container as the site and terminal.
3.12.13
CPython 3 with pip. Use a virtualenv (python3 -m venv .venv) for installs.
go1.22.10
The full Go toolchain. GOPATH is persisted in a Docker volume.
g++ 13.2.1
gcc, g++, make and musl-dev for native builds with no extra setup.
3.45.3
The sqlite3 CLI plus PHP pdo_sqlite and sqlite3 extensions.
Live values read by PHP from the container at request time.
Submit your name — this round-trip is rendered server-side by PHP 8.3.36.
Open the terminal and run these commands inside the live container.
webvm info
php -v
httpd -v
ls -la /var/www/localhost/htdocs
supervisorctl status
apk add --no-cache vim git sqlite
php -m
vim /var/www/localhost/htdocs/index.php