Deploy ClaudeOS
Deploy and Host ClaudeOS with Railway
ClaudeOS
Just deployed
Deploy and Host ClaudeOS on Railway
ClaudeOS is a browser-accessible operating environment for Claude Code. It wraps stock Claude Code in a VS Code-based UI (via code-server) with a modular extension system — everything is an extension, and the kernel just boots the system. ClaudeOS can even be prompted to build new extensions for itself at runtime.
About Hosting ClaudeOS
ClaudeOS runs as a single Docker container that bundles a Node.js supervisor process, code-server, and Claude Code managed through tmux sessions. On first boot, a setup wizard on port 8080 guides you through Railway and Anthropic authentication — no manual env vars or CLI access required. After setup, the supervisor hands port 8080 off to code-server, which serves the full VS Code-based UI. Persistent data (extensions, sessions, secrets, and config) is stored at /data, so mounting a Railway volume ensures state survives container restarts. The supervisor also exposes an internal API on port 3100 for session management and extension installation.
Common Use Cases
- Running Claude Code from any browser without local installation — access a full AI coding environment from any device
- Managing multiple concurrent Claude Code sessions with a visual UI for creating, renaming, and archiving sessions
- Self-expanding AI workflows where Claude Code builds, installs, and manages its own extensions at runtime
Dependencies for ClaudeOS Hosting
- An Anthropic API key (or Claude Code credentials) for Claude Code sessions
- A Railway account with a persistent volume for
/datato retain extensions, sessions, and secrets across deploys
Deployment Dependencies
- Claude Code — the AI coding agent that powers all sessions
- code-server — VS Code in the browser, serves the UI on port 8080
- Railway — one-click deploy via the ClaudeOS Railway template
Implementation Details
The container image is published at ghcr.io/aventre-labs/claudeos:latest. The Railway template uses a Dockerfile-based build:
FROM ghcr.io/aventre-labs/claudeos:latest
Railway configuration (railway.json):
{
"$schema": "https://railway.com/railway.schema.json",
"build": {
"builder": "DOCKERFILE"
},
"deploy": {
"healthcheckPath": "/api/v1/health",
"healthcheckTimeout": 120,
"restartPolicyType": "ON_FAILURE",
"restartPolicyMaxRetries": 3
}
}
| Environment Variable | Required | Description |
|---|---|---|
CLAUDEOS_AUTH_TOKEN | Auto | Generated by Railway template. Used for secret encryption. |
ANTHROPIC_API_KEY | No | Configured through the setup wizard or set as env var. |
PORT | No | HTTP port (default 8080, auto-set by Railway). |
CLAUDEOS_DATA_DIR | No | Persistent data path (default /data). |
Why Deploy ClaudeOS 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.
Template Content
ClaudeOS
aventre-labs/ClaudeOS