SOP-014: Deploy Steel to Railway & Render
Fresh| Field | Value |
|---|---|
| SOP ID | SOP-014 |
| Version | 1.0 |
| Status | Active |
| Last Updated | 2026-02-14 |
Purpose
Deploy Steel Browser to Railway or Render cloud platforms for managed hosting without Docker/server management.
Prerequisites
- Steel Browser Docker image access
- Railway or Render account
- Application code ready to connect
Procedure
Option A: Railway Deployment
Step 1: Navigate to railway.com/deploy/steelbrowser
Step 2: Click "Deploy Now" and authorize Railway access
Step 3: Wait for build and deployment (typically 2-3 minutes)
Step 4: Get your public domain from Railway dashboard
Step 5: Verify health:
bash
curl https://your-domain.railway.app/v1/healthStep 6: Connect your application:
typescript
import { chromium } from "playwright";
import Steel from "steel-sdk";
const client = new Steel({
baseUrl: `https://${process.env.RAILWAY_PUBLIC_DOMAIN}`,
});
const session = await client.sessions.create();
const browser = await chromium.connectOverCDP(session.websocketUrl);
const page = browser.contexts()[0].pages()[0];
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();
await client.sessions.release(session.id);Option B: Render Deployment
Step 1: Sign into dashboard.render.com
Step 2: Create new Web Service with Docker image steeldev/steel
Step 3: Configure:
- Instance type: Standard (4GB+ RAM recommended)
- Health check path:
/v1/health
Step 4: Deploy and get public URL
Step 5: Connect using same pattern as Railway (replace base URL)
Security Checklist
- [ ] Add authentication layer if exposing publicly
- [ ] Configure rate limiting
- [ ] Monitor traffic for anomalies
- [ ] Set up alerts for high resource usage
- [ ] Use environment variables for sensitive config
Troubleshooting
| Issue | Solution |
|---|---|
| Health check fails | Ensure container has 4GB+ memory |
| Connection timeout | Check firewall allows WebSocket |
| High memory usage | Limit concurrent sessions |
| Build fails | Verify Docker image steeldev/steel is accessible |