Skip to content

SOP-014: Deploy Steel to Railway & Render

Fresh
FieldValue
SOP IDSOP-014
Version1.0
StatusActive
Last Updated2026-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/health

Step 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

IssueSolution
Health check failsEnsure container has 4GB+ memory
Connection timeoutCheck firewall allows WebSocket
High memory usageLimit concurrent sessions
Build failsVerify Docker image steeldev/steel is accessible

See Also

SOP Documentation Hub - Built from Steel.dev Official Docs