Deploy cloud9
Cloud-Based Integrated Development Environment (IDE)
Just deployed
/code
Deploy and Host Cloud9 IDE on Railway
Cloud9 IDE (via LinuxServer.io) is a cloud-based web IDE that lets you code, build, and run applications directly from your browser. This Railway template deploys the official LinuxServer Cloud9 Docker container (lscr.io/linuxserver/cloud9:1.29.2) with persistent code storage and auto-generated HTTP basic authentication credentials.
About Hosting Cloud9 IDE
Hosting Cloud9 on Railway runs a single container instance that exposes a full-featured web development workspace in your browser. A persistent volume is mounted at /code to preserve your code files, repositories, workspace configuration, and installed development dependencies across deployments. The service listens internally on port 8000 and is protected by HTTP basic authentication credentials (USERNAME and PASSWORD).
Common Use Cases
- Cloud Development Environment: Write, edit, and run code directly from any web browser or tablet without local toolchain installation.
- Automated Repository Cloning: Automatically clone a target git repository on initial startup via the
GITURLenvironment variable. - Persistent Web Workspace: Maintain project files, terminal configurations, and code state across container updates inside
/code. - Remote Terminal & Tooling: Access an embedded bash terminal with common Linux utilities for testing and execution.
Dependencies for Cloud9 Hosting
- Cloud9 image:
lscr.io/linuxserver/cloud9:1.29.2 - One persistent volume mounted at
/code - Railway public domain mapped to port
8000 - Auto-generated secrets:
USERNAME(12 chars) andPASSWORD(32 chars) for web access protection
Upstream: LinuxServer Cloud9 Docs · GitHub (LinuxServer Docker Cloud9)
Implementation Details
| Item | Value |
|---|---|
| Image | lscr.io/linuxserver/cloud9:1.29.2 |
| Web UI Port | 8000 |
| Storage / Volume | /code |
| Domain | ${{RAILWAY_PUBLIC_DOMAIN}} |
Topology
| Service | Role | Volume | Public | Notes |
|---|---|---|---|---|
| cloud9 | Browser IDE + Web Terminal | /code | Yes (Port 8000) | Runs with PUID=1000 / PGID=1000 |
Volumes (drives) — what to mount
| Service | Mount path | What is stored |
|---|---|---|
| cloud9 | /code | Workspace code files, cloned Git repositories, IDE settings, and build artifacts |
Warning: Do not remove or detach the
/codevolume — deleting this volume will permanently erase all code files, repositories, and workspace state during redeployments.
Quick Start
- Click the Deploy on Railway button above.
- Sign in (or create a free Railway account) and click Deploy.
- Wait 1–2 minutes for the container and
/codevolume to provision. - Open the cloud9 service → Variables tab to copy your auto-generated
USERNAMEandPASSWORD. - Open the cloud9 service → Settings → Networking and click the generated public domain URL.
- Enter your
USERNAMEandPASSWORDwhen prompted by the browser HTTP authentication challenge to access your IDE.
Configuration
Container-level choices defined in the template:
| Variable | Default / Source | Description / Notes |
|---|---|---|
USERNAME | Auto-generated secret (12 chars) | HTTP Basic Auth username for web access |
PASSWORD | Auto-generated secret (32 chars) | HTTP Basic Auth password for web access |
GITURL | https://github.com/linuxserver/docker-cloud9.git | Optional Git repository to automatically clone into /code on startup |
PUID | 1000 | User ID for internal file permissions |
PGID | 1000 | Group ID for internal file permissions |
TZ | Europe/London | Container timezone |
PORT | 8000 | Port the web IDE listens on inside the container |
Custom Domain
- Open the cloud9 service → Settings → Networking → Custom Domain.
- Add your custom domain and follow Railway’s DNS configuration instructions.
- Railway provisions TLS automatically.
- Access your Cloud9 IDE securely at
https://your.custom.domain.
Updating Cloud9
- Open the cloud9 service → Settings → Source.
- Update the image tag (e.g.,
lscr.io/linuxserver/cloud9:1.29.2to a newer version). - Click Redeploy.
All code files, Git history, and project configuration inside the /code volume remain intact.
Traps
Common pitfalls and failure modes:
- Missing
/codeVolume — If the/codemount path is detached or deleted, all workspace files, git repositories, and uncommitted code changes will be lost when Railway restarts or updates the container. - HTTP Basic Auth Lockout — Cloud9 requires authentication. If
USERNAMEorPASSWORDvariables are changed or deleted without updating your browser credentials, login attempts will fail. - Git Repository Overwrite / Initial Sync Delay — If
GITURLis provided, Cloud9 pulls the repo on boot. On large repositories or slow network conditions, startup may take extra time before the web IDE interface becomes responsive. - File Permission Mismatches (
PUID/PGID) — EnsurePUIDandPGIDmatch the permissions needed for mounted volumes if modifying non-root ownership.
Why Deploy Cloud9 IDE on Railway?
Railway provides an instant, zero-maintenance platform for hosting cloud development environments. Hosting Cloud9 on Railway gives you an always-available browser IDE with persistent storage, automated HTTPS encryption, custom domain support, and password protection out of the box.
Template Content
