Railway

Deploy Rota

Deploy Rota, an authenticated proxy rotation platform with TimescaleDB.

Deploy Rota

Just deployed

/var/lib/postgresql/data

Just deployed

Deploy and Host Rota on Railway

About Hosting Rota

Rota is an open-source proxy rotation platform with a high-performance Go proxy engine, a real-time Next.js dashboard, automatic upstream health checks, proxy sources and pools, per-user routing, and TimescaleDB-backed analytics. This template pins Rota v2.2.1 and exposes the dashboard and API through one Railway HTTPS domain while exposing the proxy engine through a separate authenticated Railway TCP endpoint.

The Gateway service owns the public web domain. On first deployment, the Core service seeds the administrator from ROTA_ADMIN_USER and the generated ROTA_ADMIN_PASSWORD. The Railway adapter also enables incoming proxy authentication from generated ROTA_PROXY_USER and ROTA_PROXY_PASSWORD variables.

Common Use Cases

  • Rotate authorized datacenter or residential proxy pools for scraping workloads.
  • Monitor upstream proxy availability and response quality.
  • Group upstream proxies by geography, ISP, or tags.
  • Provide authenticated users with primary and fallback proxy pools.
  • Track proxy request health and time-series usage metrics.

Dependencies for Rota Hosting

Deployment Dependencies

  • Gateway: a small Caddy adapter built from this repository.
  • Dashboard: the pinned official Rota dashboard image.
  • Core: the pinned official Rota core image plus a small database-wait and authentication adapter.
  • TimescaleDB: the pinned 2.22.1-pg17 image with a persistent Railway volume.
  • Railway HTTPS domain on Gateway and a Railway TCP proxy on Core.

Implementation Details

Gateway routes /api, /ws, /docs, and /health to Core over Railway private networking and routes all other paths to Dashboard. Railway terminates public TLS, so Caddy does not manage certificates or require a volume.

Core connects to TimescaleDB through its private Railway domain, applies Rota's built-in migrations, runs recurring source, pool-health, alert, cleanup, and GeoIP tasks, and listens on API port 8001 and proxy port 8000. TimescaleDB alone owns the persistent volume.

Railway generates the database, administrator, and incoming-proxy passwords. Do not replace cross-service reference variables such as the database host or password with literal values. To rotate incoming-proxy credentials, change the Core ROTA_PROXY_USER or ROTA_PROXY_PASSWORD variable and redeploy Core.

After deployment, use the TCP host and port shown under Core networking. Rota's dashboard assumes the proxy shares the web hostname and port 8000, so its copied proxy URL is not correct for Railway. Upstream providers that require source-IP allowlisting may also require Railway Static Outbound IPs.

Add only proxies you own or are authorized to use. Keep incoming authentication enabled and test every pool before production use.

Why Deploy Rota on Railway?

Railway provides managed service orchestration, private service networking, persistent TimescaleDB storage, HTTPS for the dashboard, a raw TCP endpoint for proxy clients, generated secrets, logs, metrics, and straightforward redeploys. This template preserves Rota's same-origin web architecture while adapting its separate proxy listener honestly to Railway's TCP networking model.


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
119
View Template
Evolution API with n8n
[Jul'26] WhatsApp automation platform using Evolution API, n8n & PostgreSQL

codestorm
75
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
870