Deploy Mailcheap

Self-hosted newsletters on Amazon SES with image uploads on Railway.

Deploy Mailcheap

Just deployed

/data

MongoDB

mongo:8.2

Just deployed

/data/db

Deploy and Host Mailcheap on Railway

Mailcheap is Marc Lou's open-source newsletter app on Amazon SES. Write an issue in a rich editor, send it to your list, and publish it on a public archive with a signup form. You pay SES for the emails you send, about $0.10 per 1,000, instead of a monthly fee per subscriber.

About Hosting Mailcheap

This template builds Mailcheap from source and runs it next to a private MongoDB database. The admin password and session secret are generated, so the dashboard is locked from the first boot.

After deploying, open /login on your Railway domain and sign in with ADMIN_EMAIL and ADMIN_PASSWORD from the Mailcheap service's Variables tab. Create a newsletter and turn on its archive to start collecting subscribers. To send, add your Amazon SES keys and Upstash QStash keys, then set SENDING_ENABLED to true.

The template is pinned to a tested Mailcheap commit. A daily GitHub Action checks upstream, builds the new commit and runs a smoke test before it is published. You get an update notice in Railway and can apply it when you want.

Common Use Cases

  • Run a weekly newsletter for a product, blog or community without per-subscriber pricing
  • Collect signups from your website through the signup form or the API
  • Publish every issue on a public web archive with share images and a sitemap
  • Import a list from another newsletter platform from CSV

Dependencies for Mailcheap Hosting

  • MongoDB (included in this template)
  • An Amazon SES account with a verified domain, for sending
  • An Upstash QStash account (free tier to start), for campaign sends and scheduling

Deployment Dependencies

Implementation Details

  • Contacts, campaigns and stats live in MongoDB on its own volume.
  • Upstream stores editor images in Vercel Blob. This template saves them on the Mailcheap volume at /data/uploads instead and serves them from your domain, so uploads work without a Vercel account.
  • Links in emails and image URLs use APP_URL. If you add a custom domain, update APP_URL before your first send.
  • Rate limits are counted in memory, which works for a single service. Upstash Redis is not needed.
  • Nothing is sent until SENDING_ENABLED is true.

Why Deploy Mailcheap on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Mailcheap on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

MongoDB

mongo:8.2

More templates in this category

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

codestorm
48
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