
Deploy Dittofeed with workers and blob storage
Deploy and host Dittofeed, the messaging Automation for All.
minio-cli
minio/mc
Just deployed
postgres
railwayapp-templates/postgres-ssl:16
Just deployed
/var/lib/postgresql/data
blob-storage
minio/minio:latest
Just deployed
/data
temporal
temporalio/auto-setup
Just deployed
dittofeed-worker
dittofeed/dittofeed-worker
Just deployed
clickhouse-server
clickhouse/clickhouse-server:24
Just deployed
/var/lib/clickhouse
dittofeed-lite
dittofeed/dittofeed-lite
Just deployed
dittofeed-admin-cli
dittofeed/dittofeed-admin-cli
Just deployed
Deploy and Host dittofeed on Railway
Dittofeed is an open-source customer engagement platform that lets you create, manage, and automate marketing campaigns using event triggers, segmentation, and multi-channel delivery. Built for developers and product teams, it provides a powerful, self-hosted alternative to Customer.io and Braze.
About Hosting dittofeed
This Railway starter template provisions three core services: dittofeed-lite
, dittofeed-admin-cli
, and dittofeed-worker
. To complete your setup, you’ll need to configure two shared environment variables across all three services:
PASSWORD
: The login credential for accessing the admin UI. Choose a strong value.SECRET_KEY
: Used internally for encryption. Generate a secure value and reuse it across all services.
openssl rand -base64 32
All three services must use the same values for these environment variables. Once deployed, you’ll have access to the Dittofeed UI and can begin integrating your app events, creating audiences, and building automation flows.
Why Deploy dittofeed on Railway?
Railway makes it incredibly easy to self-host Dittofeed without managing infrastructure. You get:
- Fast one-click deployment
- Built-in support for environment variables and service linking
- Seamless PostgreSQL and Redis provisioning
- Scalable resources for production use
Plus, Dittofeed gives you full control over your marketing data and workflows, right from your own stack.
Common Use Cases
- Sending product-triggered transactional or marketing emails
- Building complex lifecycle campaigns with full data ownership
- Replacing tools like Customer.io or Iterable with a customizable, open-source solution
Dependencies for dittofeed
To run Dittofeed, you’ll need:
- A PostgreSQL database (used for storing user events and configuration)
- A Clickhouse instance (used for background job processing and queueing)
These dependencies can be auto-provisioned by Railway during deployment.
Deployment Dependencies
- PostgreSQL
- Clickhouse
Template Content
minio-cli
minio/mcblob-storage
minio/minio:latesttemporal
temporalio/auto-setupdittofeed-worker
dittofeed/dittofeed-workerPASSWORD
Same password as in dittofeed-lite (check instructions there)
SECRET_KEY
Same secret key as in dittofeed-lite (check instructions there)
clickhouse-server
clickhouse/clickhouse-server:24dittofeed-lite
dittofeed/dittofeed-litePASSWORD
Fill in a password for authenticating into Dittofeed UI
SECRET_KEY
Generate your secret key using bash command "openssl rand -base64 32"
dittofeed-admin-cli
dittofeed/dittofeed-admin-cliPASSWORD
Same password as in dittofeed-lite (check instructions there)
SECRET_KEY
Same secret key as in dittofeed-lite (check instructions there)