Deploy Wetty

Wetty | Production Self-Hosted Stack deployment stack

Deploy Wetty

Just deployed

Deploy and Host WeTTY on Railway

WeTTY (Web + TTY) is an open-source browser-based terminal emulator (3,700+ ★) built on xterm.js and WebSockets. It provides full interactive terminal and SSH access over HTTP/HTTPS directly in any modern web browser without requiring local SSH clients or desktop tools.

This 1-click verified deployment template provisions WeTTY on Railway as a lightweight, zero-ops container behind Railway's native TLS edge proxy, eliminating the need for manual Nginx or Traefik reverse-proxy configuration.

About Hosting WeTTY

This deployment stack provisions an isolated Node.js web terminal service (wetty) with automated SSL edge termination and WebSocket proxying:

  • Browser Terminal Engine (wetty): Runs wettyoss/wetty:latest on port 3000, serving the xterm.js web interface and handling bi-directional WebSocket terminal streams.
  • Native Edge TLS: Railway's edge proxy automatically terminates HTTPS and upgrades WebSocket connections directly to the container, with ALLOWEDORIGINS pre-wired to your Railway public domain.

Why Deploy WeTTY on Railway?

  • 1-Click Verified Setup: Instant deployment without configuring Nginx, Traefik, or SSL certificates manually.
  • Pre-Wired CORS & WebSocket Security: ALLOWEDORIGINS automatically binds to https://${{RAILWAY_PUBLIC_DOMAIN}} for strict origin validation.
  • Private Mesh Connectivity: Reach internal Railway services over .railway.internal hostnames or connect to external hosts over SSH.
  • Custom Domains & SSL: Built-in SSL encryption with custom domain routing out of the box.

Common Use Cases

  • Browser-Based SSH Gateway: Access remote Linux servers, cloud VMs, or homelab machines securely from any browser (including mobile devices and restricted corporate networks).
  • Internal Service Administration: Connect to private Railway workloads or jump hosts via private networking without exposing SSH ports to the public internet.
  • Zero-Install Developer Terminal: Provide quick, ephemeral web terminal access for teams, labs, or workshops.

Dependencies for WeTTY Hosting

  • Container Workload (wetty): The primary WeTTY Node.js web and WebSocket server (wettyoss/wetty:latest).

Configuration & Environment Variables

VariableDefault ValueDescription
PORT3000Internal HTTP/WebSocket listening port mapped automatically by Railway edge routing.
BASE/Base URL path where the WeTTY terminal UI is served.
NODE_ENVproductionNode.js runtime environment mode.
TITLEWeTTY - Web TerminalBrowser tab title displayed in the web terminal interface.
SSHHOSTlocalhostTarget SSH hostname or IP address to connect to (update to your target server or private .railway.internal host).
SSHPORT22Target SSH server port.
SSHAUTHpasswordSSH authentication method (password, publickey,password, or publickey).
ALLOWEDORIGINShttps://${{RAILWAY_PUBLIC_DOMAIN}}Allowed CORS/WebSocket origins, auto-wired to your Railway domain.
SSHUSER(optional)Pre-fill a default SSH username when connecting.

First-Time Setup & Onboarding

  1. Deploy the template on Railway.
  2. In your Railway service's Variables tab, set SSHHOST (and optionally SSHUSER / SSHPORT) to the server you want to connect to.
  3. Open the public domain generated for your deployment (https://.up.railway.app).
  4. Authenticate at the terminal prompt to start your interactive browser SSH session.

Verified and maintained by VerifiedStacks.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
52