---
title: "Deploy Dittofeed with workers and blob storage"
description: "Deploy and host Dittofeed, the messaging Automation for All."
category: "Automation"
url: https://railway.com/deploy/dittofeed-1
---

# Deploy Dittofeed with workers and blob storage

Deploy and host Dittofeed, the messaging Automation for All.

**[Deploy Dittofeed with workers and blob storage on Railway](https://railway.com/template/dittofeed-1)**

- **Creator:** RailGenius
- **Category:** Automation
- **Total deploys:** 10

## Template content

### minio-cli https://cdn.prod.website-files.com/681c8426519d8db8f867c1e8/681c8426519d8db8f867c1f7_MinIO.svg

- **Image:** minio/mc
- **Start command:** `sh -c 'mc alias set minio "$MC_HOST_local" "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD" && (mc stat minio/dittofeed || mc mb minio/dittofeed) && tail -f /dev/null'`

### postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:16

### blob-storage https://res.cloudinary.com/h5kvzw/image/upload/v1706062979/MINIO_Bird_vbtpet.png

- **Image:** minio/minio:latest
- **Start command:** `/bin/sh -c "exec minio server --address [::]:$MINIO_PRIVATE_PORT $RAILWAY_VOLUME_MOUNT_PATH"`
- **Health check:** /minio/health/ready
- **Public domain:** Yes

### temporal https://temporal.io/favicon.svg

- **Image:** temporalio/auto-setup
- **Public domain:** Yes

### dittofeed-worker https://cdn.prod.website-files.com/664393f5bd2b0c6d4fdf5437/6660af223efe69a76107dc35_Dittofeed_newLogo_graphicOnly_favicon.png

- **Image:** dittofeed/dittofeed-worker

### clickhouse-server https://devicons.railway.app/ClickHouse?variant=light

- **Image:** clickhouse/clickhouse-server:24
- **Health check:** /ping
- **Public domain:** Yes

### dittofeed-lite https://cdn.prod.website-files.com/664393f5bd2b0c6d4fdf5437/6660af223efe69a76107dc35_Dittofeed_newLogo_graphicOnly_favicon.png

- **Image:** dittofeed/dittofeed-lite
- **Start command:** `node --max-old-space-size=824 ./packages/lite/dist/scripts/startLite.js --workspace-name="$WORKSPACE_NAME"`
- **Public domain:** Yes

### dittofeed-admin-cli https://cdn.prod.website-files.com/664393f5bd2b0c6d4fdf5437/6660af223efe69a76107dc35_Dittofeed_newLogo_graphicOnly_favicon.png

- **Image:** dittofeed/dittofeed-admin-cli
- **Start command:** `sh -c 'BOOTSTRAP_WORKER=true BOOTSTRAP_EVENTS=true yarn admin bootstrap --workspace-name="$WORKSPACE_NAME" && echo "Admin bootstrap finished."'`

## Documentation

# 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.

```bash
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

## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/dittofeed-1
