VM Environment
This page provides a complete reference of the software, configuration, and services running on your MoltShell VM.
Operating system
| Property | Value |
|---|---|
| OS | Ubuntu 22.04 LTS |
| Kernel | Linux (GCP e2-medium) |
| Architecture | x86_64 |
| User | moltshell |
| Home | /home/moltshell |
| Shell | bash |
| Sudo | passwordless |
Pre-installed packages
Development tools
| Package | Version | Notes |
|---|---|---|
| Node.js | 22 (LTS) | Installed via NodeSource |
| npm | Bundled with Node.js | |
| Python 3 | System default | Ubuntu 22.04 ships Python 3.10 |
| pip | System default | pip install or pip3 install |
| git | System default | |
| build-essential | System default | gcc, g++, make |
| curl | System default | |
| wget | System default |
System services
| Service | Purpose |
|---|---|
moltshell-terminal | Terminal server (Express + WebSocket on port 3001) |
nginx | Reverse proxy (port 80 to port 3001) |
moltshell-watchdog.timer | Memory watchdog (runs every 30 seconds) |
Runtime details
| Property | Value |
|---|---|
| Terminal server | Express + ws, running via tsx |
| Terminal multiplexer | tmux |
| tmux session prefix | sandbox- |
| Default session | sandbox-default |
| tmux mouse mode | Enabled globally |
| tmux scrollback | 5000 lines |
| tmux clipboard | OSC 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 scriptsDo 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:
| Variable | Value |
|---|---|
HOME | /home/moltshell |
USER | moltshell |
SHELL | /bin/bash |
TERM | xterm-256color |
COLORTERM | truecolor |
PATH | Standard Ubuntu paths + Node.js |
Shell configuration
The .bashrc provides:
- Colored prompt with hostname
- Common aliases (
ll,la, etc.) - Colored
lsandgrepoutput
You can customize .bashrc and .profile freely. Changes persist across sessions and VM suspends.
Networking
| Property | Value |
|---|---|
| Firewall | GCP firewall, Cloudflare IPs only |
| Outbound | Unrestricted (apt, npm, pip, curl all work) |
| Inbound | Port 80 (nginx) from Cloudflare only |
| Internal | All ports accessible via localhost |
| Port forwarding | Ports 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.