Deploy Twenty

Twenty v2 CRM with worker, PostgreSQL, Redis, and object storage.

Deploy Twenty

/var/lib/postgresql/data

twenty-storage

Bucket

Just deployed

Deploy and Host Twenty CRM on Railway

Twenty is a modern open-source CRM for managing companies, contacts, opportunities, tasks, notes, workflows, dashboards, email, and calendars. It provides a fast configurable alternative to conventional per-seat CRM platforms.

About Hosting Twenty CRM

This template runs Twenty v2.48.0 as a production-style stack: a public server, a dedicated background worker, PostgreSQL 16, authenticated Redis with noeviction, and a Railway object-storage bucket. The server waits for PostgreSQL before performing database migrations and cron registration. The worker waits for server readiness before handling asynchronous imports, email synchronization, and workflow execution.

Attachments use Twenty's S3 driver because Railway services cannot share one filesystem volume. PostgreSQL and Redis each retain their own data on persistent volumes. Encryption and legacy application secrets are generated once and shared automatically between the server and worker.

Upgrading an existing deployment to v2.48.0

Back up the Postgres volume first. The v2.47 upgrade step deletes Twenty's legacy AI chat history tables (agentChatThread, agentMessage and related) and stops early if any core."usageLimit" row has no unit. Before switching images, run SELECT count(*) FROM core."usageLimit" WHERE unit IS NULL; against Postgres and expect 0. After the upgrade, check the server log for Successfully migrated DB! and the absence of Upgrade completed with errors.

Common Use Cases

  • Sales pipelines, contacts, companies, opportunities, and tasks
  • Self-hosted customer data and workflow automation
  • A configurable open-source alternative to Salesforce or Pipedrive
  • Email and calendar synchronization with separately configured OAuth apps

Dependencies for Twenty CRM Hosting

  • PostgreSQL 16
  • Redis configured with noeviction
  • Railway object-storage bucket
  • At least 2 GB of aggregate memory, per upstream guidance
  • Optional SMTP and Google or Microsoft OAuth credentials

Deployment Dependencies

Implementation Details

Open the server service domain after deployment and create the first workspace. The template pins server and worker to the same v2.48.0 image. SERVER_URL, PostgreSQL, Redis, object-storage credentials, APP_SECRET, and ENCRYPTION_KEY are wired across services automatically. Do not rotate encryption variables without following Twenty's key-rotation procedure.

Why Deploy Twenty CRM on Railway?

Railway provides HTTPS, private service networking, persistent database volumes, object storage, health checks, and centralized logs for the full Twenty stack. The source adapters handle startup ordering between PostgreSQL, the server, and the worker.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
50
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51