---
title: "Deploy Notifuse | Open Source Alternative of Resend, Mailchimp, Brevo"
description: "Self-Host Notifuse on Railway — email, SMS, push notifications and more."
category: "Other"
url: https://railway.com/deploy/self-host-notifuse
---

# Deploy Notifuse | Open Source Alternative of Resend, Mailchimp, Brevo

Self-Host Notifuse on Railway — email, SMS, push notifications and more.

**[Deploy Notifuse | Open Source Alternative of Resend, Mailchimp, Brevo on Railway](https://railway.com/template/self-host-notifuse)**

- **Creator:** Heimdall
- **Category:** Other
- **Total deploys:** 15

## Template content

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

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

### Notifuse https://docs.notifuse.com/assets/logo/icon.png

- **Image:** notifuse/notifuse:latest
- **Public domain:** Yes

## Documentation

![Notifuse Logo](https://www.notifuse.com/_astro/logo-medium.DCfPZKtb.png)

# Deploy and Host Notifuse on Railway

Self-host Notifuse on Railway with one click — get a fully running email marketing and transactional email platform backed by a dedicated PostgreSQL database. This template provisions two services: the `notifuse/notifuse:latest` Docker image and a Railway-managed Postgres instance, wired together automatically via private networking. 

Notifuse is an open-source alternative to Mailchimp, Brevo, and Listmonk, built with Go and React. Run Notifuse on Railway and keep your subscriber data entirely on your own infrastructure, without per-email fees.

![Notifuse Railway template deployed — two services: notifuse and Postgres](https://res.cloudinary.com/asset-cloudinary/image/upload/v1773469129/notifuse_railway_arch_lwu6so.png)

---

## Getting Started with Notifuse on Railway

Once your Railway deploy is live, open the public URL assigned to the **notifuse** service (port 8080). You'll be greeted by the interactive **Setup Wizard** — enter your root administrator email, set the API endpoint to your Railway-generated URL (e.g. `https://notifuse-production.up.railway.app`), and configure an SMTP server for system emails like password resets and invitations. After completing the wizard, you'll land on the Notifuse console where you can create your first workspace, import contacts, and build your first email campaign.


![Notifuse Setup Wizard on first access via Railway URL](https://res.cloudinary.com/asset-cloudinary/image/upload/v1773469106/Notifuse_setup_omi3ng.png)

![Notifuse login page after completing setup](https://res.cloudinary.com/asset-cloudinary/image/upload/v1773469200/notifuse_sign_in_consol_sfukrm.png)

---

## About Hosting Notifuse

Notifuse is a self-hosted email platform for developers who want full control over their email stack without SaaS pricing. It handles both marketing campaigns and transactional emails from a single interface.

**Key features:**
- Visual MJML drag-and-drop email builder
- Broadcast campaigns with A/B testing and open/click analytics
- Multi-provider support: Amazon SES, Mailgun, Postmark, SendGrid, SparkPost, Mailjet, SMTP
- Transactional email via REST API with automatic provider failover
- Subscriber segmentation, contact lists, and tagging
- SMTP relay — lets tools like Supabase Auth or Firebase route through Notifuse
- Webhook support and event logs
- Notification center widget embeddable in your product

**Architecture:** The Railway template runs Notifuse as a single Docker container. It connects to Postgres over Railway's private network. Notifuse creates one database per workspace automatically — this is why it requires root-level Postgres credentials.

---

## Why Deploy Notifuse on Railway

- No per-email fees — pay only for Railway infrastructure
- Private networking between Notifuse and Postgres out of the box
- Managed TLS and custom domain support
- One-click redeploys when new Notifuse versions ship
- No Docker Compose wiring or volume management to maintain
- Persistent Postgres volume — data survives redeployments

---

## Common Use Cases

- **Newsletter platform**: Send branded HTML campaigns to segmented subscriber lists with open/click tracking, no Mailchimp subscription required
- **Transactional email API**: Power password resets, order confirmations, and onboarding flows via REST API with multi-provider failover
- **SMTP relay for SaaS tools**: Route Supabase Auth, Auth0, or Firebase emails through Notifuse to take control of email design
- **In-app notification center**: Embed Notifuse's notification widget into your product for real-time user alerts

---

## Notifuse vs Mailchimp vs Listmonk vs Brevo

| Feature              | Notifuse        | Mailchimp       | Listmonk        | Brevo           |
|----------------------|-----------------|-----------------|-----------------|-----------------|
| Open-source          | ✅ Yes          | ❌ No           | ✅ Yes          | ❌ No           |
| Self-hostable        | ✅ Yes          | ❌ No           | ✅ Yes          | ❌ No           |
| Transactional API    | ✅ Yes          | ✅ Limited      | ✅ Yes          | ✅ Yes          |
| Visual email builder | ✅ MJML         | ✅ Yes          | ❌ Basic        | ✅ Yes          |
| Per-email pricing    | ❌ None         | ✅ Yes          | ❌ None         | ✅ Yes          |
| A/B testing          | ✅ Yes          | ✅ Paid tiers   | ❌ No           | ✅ Yes          |
| SMTP relay           | ✅ Yes          | ❌ No           | ❌ No           | ✅ Yes          |

Notifuse is the strongest choice for teams who need both marketing campaigns and transactional email in a single self-hosted platform with no email volume fees.

---

## Dependencies for Notifuse

- **notifuse** — `notifuse/notifuse:latest` ([Docker Hub](https://hub.docker.com/r/notifuse/notifuse)) — main app, exposes port 8080
- **Postgres 17** — `ghcr.io/railwayapp-templates/postgres-ssl:17` — primary database, private-only

### Optional Environment Variables Reference

| Variable | Description | Required |
|---|---|---|
| `ROOT_EMAIL` | Root administrator email address | Optional (Setup Wizard) |
| `SMTP_HOST` | SMTP server for system emails | Optional (Setup Wizard) |
| `SMTP_PORT` | SMTP port (`587` or `465`) | Optional (Setup Wizard) |
| `SMTP_USERNAME` | SMTP login username | Optional (Setup Wizard) |
| `SMTP_PASSWORD` | SMTP login password | Optional (Setup Wizard) |
| `SMTP_FROM_EMAIL` | Sender address for system emails | Optional (Setup Wizard) |
| `LOG_LEVEL` | Logging verbosity: `debug`, `info`, `warn` | Optional |
| `TELEMETRY` | Set `false` to disable anonymous usage stats | Optional |

### Deployment Dependencies

- **Runtime**: Go (pre-compiled binary inside Docker image — no build step)
- **Docker image**: [`notifuse/notifuse:latest`](https://hub.docker.com/r/notifuse/notifuse)
- **GitHub repo**: [github.com/Notifuse/notifuse](https://github.com/Notifuse/notifuse)
- **Official docs**: [docs.notifuse.com](https://docs.notifuse.com)
- **Live demo**: [demo.notifuse.com](https://demo.notifuse.com/console/signin?email=demo@notifuse.com)

---

## Minimum Hardware Requirements for Notifuse

| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 0.5 vCPU | 1+ vCPU |
| RAM | 256 MB | 512 MB – 1 GB |
| Storage (Postgres volume) | 1 GB | 10 GB+ (scales with contacts & logs) |
| Postgres version | 13+ | 17 (included in template) |

Notifuse is a compiled Go binary — it has a very small memory footprint. The Postgres instance is the primary resource consumer as your contact list and campaign logs grow.

---

## Self-Hosting Notifuse

**Docker (quickest):**

```
# Start with embedded Postgres (testing/dev)
curl -O https://raw.githubusercontent.com/notifuse/notifuse/main/compose.yaml
docker compose up -d
# Access at http://localhost:8080
```

**Standalone Docker (production, bring your own Postgres):**

```
docker run -d --name notifuse \
  -p 8080:8080 \
  -e SECRET_KEY="$(openssl rand -base64 32)" \
  -e DB_HOST="your-postgres-host" \
  -e DB_PORT="5432" \
  -e DB_USER="postgres" \
  -e DB_PASSWORD="your_password" \
  -e DB_SSLMODE="require" \
  notifuse/notifuse:latest
```

Navigate to `http://localhost:8080` and complete the Setup Wizard. Notifuse will automatically create its system database and workspace databases on first run.

---

## Is Notifuse Free?

Notifuse is fully open-source (MIT-licensed) — free to download, self-host, and use with no email volume limits. On Railway, you pay only for Railway infrastructure (compute + storage), not per email or per subscriber. There is no paid cloud-hosted version of Notifuse; self-hosting is the only deployment model.

---

## FAQ

**What is Notifuse?**
Notifuse is an open-source, self-hosted email platform for developers. It handles both marketing campaigns (newsletters, broadcasts, A/B tests) and transactional emails (REST API, SMTP relay) with a visual MJML email builder and support for providers like Amazon SES, Mailgun, SendGrid, and Postmark.

**What does this Railway template deploy?**
It deploys two services: the `notifuse/notifuse:latest` Docker image (the app, port 8080) and a PostgreSQL 17 database with a persistent volume. Both services communicate over Railway's private network. After deploying, a Setup Wizard guides you through initial configuration.

**Why does Notifuse need root Postgres credentials?**
Notifuse creates a separate database for each workspace to ensure data isolation between tenants. This requires `CREATEDB` privileges. Railway's managed Postgres template provides root credentials by default, so this works out of the box.

**Can I use this template in production?**
Yes. Set `DB_SSLMODE="require"`, generate a strong `SECRET_KEY`, point `API_ENDPOINT` at your custom domain or Railway URL, and configure a reliable SMTP provider. The 95% deployment success rate on Railway's template page reflects stable production usage.

**What happens if I change my `SECRET_KEY` after setup?**
All encrypted workspace credentials (email provider API keys, SMTP passwords) will be permanently unreadable. There is no recovery path — treat `SECRET_KEY` as immutable from the moment you first launch Notifuse.

**Does Notifuse support sending through multiple email providers?**
Yes. Within each workspace, you can configure multiple email providers (SES, Mailgun, Postmark, SendGrid, SparkPost, Mailjet, SMTP) and Notifuse will route sends with automatic failover if a provider fails.

**Do I need to configure SMTP before I can use Notifuse?**
An SMTP server is needed for system emails (password resets, admin invitations). It is not required to send marketing or transactional emails — those are sent through the email provider you configure per workspace (SES, Mailgun, etc.).

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/self-host-notifuse
