Skip to content

VM Environment

This page provides a complete reference of the software, configuration, and services running on your MoltShell VM.

Operating system

PropertyValue
OSUbuntu 22.04 LTS
KernelLinux (GCP e2-medium)
Architecturex86_64
Usermoltshell
Home/home/moltshell
Shellbash
Sudopasswordless

Pre-installed packages

Development tools

PackageVersionNotes
Node.js22 (LTS)Installed via NodeSource
npmBundled with Node.js
Python 3System defaultUbuntu 22.04 ships Python 3.10
pipSystem defaultpip install or pip3 install
gitSystem default
build-essentialSystem defaultgcc, g++, make
curlSystem default
wgetSystem default

System services

ServicePurpose
moltshell-terminalTerminal server (Express + WebSocket on port 3001)
nginxReverse proxy (port 80 to port 3001)
moltshell-watchdog.timerMemory watchdog (runs every 30 seconds)

Runtime details

PropertyValue
Terminal serverExpress + ws, running via tsx
Terminal multiplexertmux
tmux session prefixsandbox-
Default sessionsandbox-default
tmux mouse modeEnabled globally
tmux scrollback5000 lines
tmux clipboardOSC 52 enabled (set-clipboard on)

Directory structure

/home/moltshell/           # Your home directory (workspace)
/home/moltshell/.moltshell/ # Layout persistence
/opt/sandboxterminal/       # Terminal server code
/opt/moltshell/             # Management scripts

Do not modify files in /opt/sandboxterminal/ or /opt/moltshell/. These are managed by the MoltShell system and may be overwritten during updates.

Environment variables

The default shell environment includes:

VariableValue
HOME/home/moltshell
USERmoltshell
SHELL/bin/bash
TERMxterm-256color
COLORTERMtruecolor
PATHStandard Ubuntu paths + Node.js

Shell configuration

The .bashrc provides:

  • Colored prompt with hostname
  • Common aliases (ll, la, etc.)
  • Colored ls and grep output

You can customize .bashrc and .profile freely. Changes persist across sessions and VM suspends.

Networking

PropertyValue
FirewallGCP firewall, Cloudflare IPs only
OutboundUnrestricted (apt, npm, pip, curl all work)
InboundPort 80 (nginx) from Cloudflare only
InternalAll ports accessible via localhost
Port forwardingPorts 1024-65535 via /preview/:port/

Self-updating

The terminal server automatically checks for updates on GitHub when a new WebSocket connection is made (throttled to every 5 minutes). If a new version is available, the server downloads it, installs dependencies, and restarts. This process is transparent -- your tmux sessions are not affected.

MoltShell - Your Linux VM in the browser.