Deploy Roster

Team channels and threads, where the threads run agents on real repos.

Deploy Roster

/var/lib/postgresql/data

Just deployed

Just deployed

/data

Just deployed

Deploy and Host Roster on Railway

Roster is team chat whose threads run coding agents on real repositories. A channel is a repo; asking its agent something opens a thread and starts a real session on real code, reached through Superset on whichever machine holds the project. Progress, questions and output land in the thread, next to the conversation that started it.

About Hosting Roster

Roster runs as two tiers that ship in one image. The web service serves the app and applies database migrations on boot. The worker owns every agent session: it holds the connection to each machine, watches each running session, writes progress back into the thread, and delivers steers and cancellations. Setting ROSTER_RUN_WORKER to 1 runs both in the web container, which is the simplest working setup; the worker can later be split into its own service with the start command node apps/worker/dist/worker.mjs.

This template provisions four services: the app, Postgres for messages and threads, Redis for the session work queue, and Centrifugo for realtime. The app needs a volume mounted at /app/uploads so message attachments survive a redeploy.

Why Deploy Roster on Railway?

Railway provisions Postgres, Redis and the app together with their connection strings already wired, so the only values left to supply are your own domain and mail settings. The app migrates its own schema on first boot, and the worker restarts with the container if it ever exits, so a deploy is a single step rather than a sequence.

Common Use Cases

  • Running coding agents against your team's repositories, with the work visible in a shared thread rather than one person's terminal
  • Handing an agent a task from chat and following its progress, steering it mid-run, or cancelling it
  • Letting one channel's agent ask another channel's agent for help and getting the answer back in the original thread

Dependencies for Roster Hosting

  • A Superset API key, which is how Roster reaches the machine holding each repository
  • Postgres and Redis, both provisioned by this template
  • A volume mounted at /app/uploads on the web service for attachments
  • Optionally Resend, for magic-link sign-in email; leave it unset and links are printed to the service logs

Important: set ROSTER_RUN_WORKER

Something has to run the worker, or the app boots, signs in and opens threads while no agent ever runs. Set ROSTER_RUN_WORKER to 1 on the web service unless you are running the worker as its own service.

Other References


Template Content

More templates in this category

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

jakemerson
121
View Template
Evolution API with n8n
Automate WhatsApp workflows with Evolution API, n8n, and Postgres.

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

Railway Templates
870