Web IDE¶

Category: Development
Type: Workload Template
Tags: ide · vscode · workload
Overview¶
Web IDE is a browser-based VS Code environment powered by code-server. It delivers a full VS Code editing experience — extensions, integrated terminal, Git, IntelliSense — accessible from any browser without installing VS Code or a desktop environment. Each Web IDE workload is an isolated development environment with its own persistent storage and system packages.
How It Works¶
Workload Template — Installs the Web IDE workload schema into Genesis. Once installed, the Web IDE type appears in Genesis on the Workloads page, where it can be authored into a workload template. Users can then launch and provision their own browser-based VS Code environment on demand within a project through Hubble.
Installation¶
- Open Terra and navigate to the Plugin Marketplace
- Search for "web-ide"
- Click Install
- Click Confirm to deploy (no install-time fields required)
Once installed, the Web IDE schema is available in Genesis. From the Workloads page, author the template — users can then launch and provision Web IDE instances on demand through Hubble.
Configuration¶
Install-Time Fields¶
No install-time configuration is required for this plugin.
Workload Launch Fields¶
These fields are configured when authoring the workload template in Genesis and used each time a user provisions a Web IDE instance through Hubble:
| Field | Details |
|---|---|
registry |
string · Required · Default: lscr.ioContainer registry for the code-server image |
repo |
string · Required · Default: linuxserver/code-servercode-server image repository |
tag |
string · Required · Default: latestcode-server image tag |
packages |
string · Optional · Default: python3 python3-venvSpace-separated list of additional system packages to install at startup |
nginx_registry |
string · Required · Default: docker.ioContainer registry for the nginx proxy image |
nginx_repo |
string · Required · Default: nginxnginx proxy image repository |
nginx_tag |
string · Required · Default: latestnginx proxy image tag |
Custom Environment Variables¶
Genesis lets you add arbitrary environment variables to the workload at launch time. These are commonly useful for a code-server (LinuxServer.io) image:
| Variable | Description |
|---|---|
PASSWORD |
Web UI login password. If neither PASSWORD nor HASHED_PASSWORD is set, the UI has no authentication. |
SUDO_PASSWORD |
Enables sudo access in the integrated terminal, protected by this password. |
DEFAULT_WORKSPACE |
Directory code-server opens by default when a session starts. |
TZ |
Container timezone, e.g. America/New_York. |
Notes¶
- The
packagesfield accepts space-separated package names installed viaapt-getat workload startup — useful for adding language runtimes, build tools, or CLI utilities - VS Code extensions are managed per-user within the code-server UI and persist to the workload's storage volume
- The nginx sidecar handles web proxying to integrate the Web IDE into the Juno platform's ingress and authentication
- For a native VS Code desktop experience within a full desktop environment, consider using the Visual Studio Code installer plugin with a Helios or LSIO Webtop workstation instead
| plugins/web-ide/terra.yaml | |
|---|---|