Deploy Rocky Linux Terminal
RHEL 9-compatible browser terminal with dev tools on Railway.
rocky-railway
Just deployed
/root
Deploy and Host Rocky Linux Terminal on Railway
Rocky Linux Terminal is a browser-accessible Rocky Linux 9 shell deployed on Railway via ttyd. Binary-compatible with RHEL 9, it gives enterprise developers a Red Hat environment without a subscription — password-protected, persistent storage at /root, essential dev tools, and common C/system libraries pre-installed.
About Hosting Rocky Linux Terminal
Hosting Rocky Linux Terminal on Railway means running a Rocky Linux 9 container with a browser-based terminal exposed via ttyd. Rocky Linux 9 is binary-compatible with RHEL 9, making it ideal for enterprise Linux work without a Red Hat subscription. Railway handles the build, networking, and SSL automatically. EPEL is enabled at build time so you have access to the full RPM ecosystem. The image ships with commonly used C libraries — openssl-devel, zlib-devel, libffi-devel, sqlite-devel, readline-devel, ncurses-devel, libxml2-devel, libxslt-devel, postgresql-devel, mysql-devel, libyaml-devel, libpng-devel, libjpeg-devel, and kernel-headers — so most language runtimes and native extensions compile without extra setup. A persistent volume is mounted at /root so your files survive restarts.
Common Use Cases
- RHEL-compatible cloud shell for enterprise developers who need a Red Hat environment without a subscription
- RPM package building and testing in a clean, reproducible Rocky Linux environment
- Learning Red Hat ecosystem tooling — dnf, systemd, SELinux — from any device with a browser
Dependencies for Rocky Linux Terminal Hosting
- ttyd — serves the bash shell as a browser-accessible terminal over HTTP
- Rocky Linux 9 — RHEL 9 binary-compatible base image with EPEL support
Deployment Dependencies
Configuration
| Variable | Description |
|---|---|
| USERNAME | Login name for the web terminal. Defaults to root. |
| PASSWORD | Login password. Generated for you at deploy time — read it from the service's Variables tab, or set your own before deploying. |
| PORT | Port ttyd listens on. Defaults to 7681; Railway maps it to the public URL for you. |
| INSTALL_CLAUDE_CODE | Set to true to install Claude Code on first boot (default: false). |
Opening the service URL prompts for USERNAME and PASSWORD over HTTP Basic
auth. The terminal is a root shell on the public internet, so treat that password
as the only thing standing between a stranger and your container — change it from
the generated value only to something stronger, never something weaker.
A volume is mounted at /root, so files you leave in the home directory survive
restarts and redeploys. Packages installed with the system package manager live
outside /root and do not survive a redeploy — reinstall them, or bake them
into the image if you need them permanently.
Claude Code in the terminal (optional)
Set INSTALL_CLAUDE_CODE to true and Claude Code is installed on first boot, into /root/.local/bin on the volume — so it survives restarts and keeps itself updated. It is off by default, which keeps the image small for everyone who does not want it.
The install happens at boot rather than at build time on purpose: /root is the mounted volume, so anything written there while building is hidden the moment the volume mounts.
You still need your own access — a Claude Pro, Max or Team account, or an ANTHROPIC_API_KEY with credit on it. Nothing in the install can stop the terminal from starting; if it fails, you get a message and a working shell.
Why Deploy Rocky Linux Terminal on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Rocky Linux Terminal on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
rocky-railway
Amritasha/rocky-railway