---
title: "Deploy Novu Community Edition"
description: "Notification workflows with API, workers, dashboard, and WebSockets."
category: "Automation"
url: https://railway.com/deploy/novu-community-edition
---

# Deploy Novu Community Edition

Notification workflows with API, workers, dashboard, and WebSockets.

**[Deploy Novu Community Edition on Railway](https://railway.com/template/novu-community-edition)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/novu-community-edition/manifest.json

- **Creator:** orenaksakal
- **Category:** Automation

## Template content

### storage

- **Source:** orenaksakal/railway-templates

### ws

- **Image:** ghcr.io/novuhq/novu/ws:3.19.0@sha256:00aa8b9f080da2af443269af672c00b7561556d7adb4b097b4e54c2127de61e5
- **Health check:** /v1/health-check
- **Public domain:** Yes

### mongodb

- **Image:** mongo:8.0.17@sha256:9814652e33f0cf8b9fddea8b46dfc9d8e19b130dcfdd7b510ca58bb0d40c8b71

### redis

- **Image:** redis:7.4@sha256:71da9275c5f3fcb97d0fa0c8c5b36cc995327265420f17a04bfd544f458059f7
- **Start command:** `sh -c 'exec redis-server --bind 0.0.0.0 :: --appendonly yes --maxmemory-policy noeviction --requirepass "$REDIS_PASSWORD"'`

### api

- **Image:** ghcr.io/novuhq/novu/api:3.19.0@sha256:5cd2a586888b48885cb9ad91fb3cd25a38e6f70bb99d38d48f4d475b57bf544a
- **Health check:** /v1/health-check
- **Public domain:** Yes

### novu

- **Image:** ghcr.io/novuhq/novu/dashboard:3.19.0@sha256:15a7773e01658f671e56fb9f0ddc8f043008bb0cfea2d6c5d1a0a60c722bf6e1
- **Health check:** /
- **Public domain:** Yes

### worker

- **Image:** ghcr.io/novuhq/novu/worker:3.19.0@sha256:2fa72651958986570f3929df0079908a6a4c65f945cf8fa69d973c707ce4ac81

## Documentation

# Deploy and Host Novu Community Edition on Railway

Novu Community Edition 3.19.0 supplies an API, worker, WebSocket service, and dashboard with MongoDB, authenticated Redis, and private S3-compatible storage. The four application images use the same version from the current Community Edition deployment source.

Release tested on Railway. See the validation scope below for verified workflows and remaining limitations.

## About Hosting Novu Community Edition

The template defines 7 services with pinned container digests, generated deployment secrets, explicit service references, and persistent volumes for stateful dependencies. Repository-backed adapters build from `codex/remaining-template-drafts`. Railway terminates HTTPS for the public endpoints; databases and internal workers have no public TCP proxies. Fresh initialization was tested in an isolated Railway project. Each deployment has its own database and storage resources. Backups are not scheduled by this template, and filesystem-backed services should remain single-replica.

## Common Use Cases

- Trigger in-app notifications from application backends.
- Build notification workflows with your chosen delivery providers.
- Retain subscribers, workflow configuration, and delivery history.

## Dependencies for Novu Community Edition Hosting

### Deployment Dependencies

| Service | Source | Persistent path |
| --- | --- | --- |
| mongodb | `mongo:8.0.17` | `/data/db` |
| redis | `redis:7.4` | `/data` |
| storage | `shared/draft-storage/Dockerfile` | `/data` |
| api | `ghcr.io/novuhq/novu/api:3.19.0` | `None` |
| worker | `ghcr.io/novuhq/novu/worker:3.19.0` | `None` |
| ws | `ghcr.io/novuhq/novu/ws:3.19.0` | `None` |
| novu | `ghcr.io/novuhq/novu/dashboard:3.19.0` | `None` |

Required input before deployment: none; generated secrets and service references supply the template defaults.

## First Use

Open the novu dashboard domain and complete account setup. Its API and WebSocket domains are configured automatically. Create an application/workflow, add your own provider credentials, and trigger a test notification. STORE_ENCRYPTION_KEY is generated with exactly 32 characters as required upstream.



## Scope and Limitations

The service uses the Community Edition feature set, not Novu Cloud parity. SMTP/SMS/chat providers and their usage charges are separate. Storage uses a private bucket; browser attachment and asset delivery need functional verification before use. MongoDB is a single-node deployment.

## Backups and Upgrades

Back up MongoDB, object storage, Redis if pending jobs matter, and all encryption/signing secrets. Restoring provider records without STORE_ENCRYPTION_KEY can make credentials unreadable. Test restoration into an isolated project before depending on the backup. Image rollback alone does not revert database migrations.

## Validation Scope

Fresh Railway startup, account signup/login, organization/environment selection, workflow and subscriber creation, worker delivery of rendered in-app notifications, restart and volume-preserving redeploy passed. MongoDB was dumped and restored into a separate namespace and delivered messages were verified. The dashboard sign-in page rendered. External email/SMS/chat delivery, retry failure injection, authenticated browser workflows, attachment delivery, load testing and complete separate-project disaster recovery are not verified.

## Why Deploy Novu Community Edition on Railway?

Railway keeps the services, networking, environment references, deployment logs, and volumes together in one project. This template supplies the tested service configuration. Railway resources and volume storage are billed separately from external email, model, and other service providers. No deployment cost or revenue estimate has been measured.

## Support and Upstream

[Upstream source and release](https://github.com/novuhq/novu/tree/c7bc772fc0b7722909ef1bdb9bcf04991996fdd8/docker/community). This is an independent community integration; upstream licenses, trademarks, and paid-feature restrictions remain in effect. See the [draft readiness record](https://github.com/orenaksakal/railway-templates/blob/codex/remaining-template-drafts/DRAFTS.md). Report issues with redacted logs and image versions; never share credentials.


## 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/novu-community-edition
