Railway

Deploy Send Email at AWS SES Pricing — Self-Host useSend on Railway

Self-host email at AWS SES pricing. No SendGrid or Resend markup.

Deploy Send Email at AWS SES Pricing — Self-Host useSend on Railway

Just deployed

Just deployed

/data

Just deployed

Just deployed

/var/lib/postgresql/data

Deploy and Host useSend on Railway

useSend is the open-source email platform that gives you the power of SendGrid, Resend, and Postmark — self-hosted on your own infrastructure, powered by Amazon SES at $0.10 per 1,000 emails. Transactional REST API, SMTP relay, bulk campaign sending, contact management, visual WYSIWYG email editor, and real-time delivery analytics (opens, clicks, bounces, unsubscribes) — all in one platform you fully control.

At 100,000 emails/month: SendGrid costs $89.95. Resend costs $40. Postmark costs $75. useSend on Railway costs ~$10 in SES fees plus Railway compute. No per-platform markup.


What This Template Deploys

ServicePurpose
useSend ServerThe email platform — REST API, SMTP relay, campaign dashboard, analytics, and contact management
PostgreSQLPrimary database — API keys, domains, contacts, campaigns, email logs, and delivery events
RedisQueue for email sending jobs, retry logic, and background processing
MinIOS3-compatible object storage — campaign images, attachments, and email assets
MinIO Bucket CreatorOne-time setup service — creates required MinIO buckets on first deploy
MinIO ConsoleWeb UI for MinIO bucket management and storage inspection

All services connect over Railway's private internal network. Database, Redis, and MinIO credentials are injected automatically via Railway reference variables.


About Hosting useSend

Managed email platforms like SendGrid and Resend are pay-to-play — the more email you send, the more you pay in platform fees. useSend routes email through Amazon SES, which charges $0.10 per 1,000 emails with no monthly minimum — the same infrastructure behind AWS's most reliable email service, billed directly at cost with no middleman markup.

Railway provisions the full six-service stack automatically. PostgreSQL, Redis, and MinIO are pre-wired over private networking. useSend runs as a Next.js application behind Railway's HTTPS proxy with automatic domain management and API key generation.

Typical cost: ~$10–15/month on Railway's Hobby plan for the full six-service stack plus your AWS SES usage at $0.10/1,000 emails. At 500,000 emails/month, total cost is ~$65/month — versus SendGrid at ~$299/month or Resend at ~$90/month at the same volume.


Deploy in Under 5 Minutes

  1. Click Deploy on Railway — all six services build automatically (~4–5 minutes)
  2. Set the four required variables: GITHUB_ID, GITHUB_SECRET, AWS_ACCESS_KEY, AWS_SECRET_KEY — see prerequisites below
  3. Open your Railway URL — log in with your GitHub account
  4. Add and verify your sending domain in the useSend dashboard
  5. Generate an API key and start sending transactional emails

Prerequisites

GitHub OAuth App — Create at github.com/settings/applications/new. Set callback URL to https://[your-railway-domain]/auth/callback/github.

AWS Account — Create an IAM user with AmazonSESFullAccess and AmazonSNSFullAccess policies, then generate programmatic access keys. See the useSend AWS setup guide.


Common Use Cases

  • Self-hosted alternative to Resend — replace $20–90/month platform fees with flat AWS SES costs at $0.10/1,000 emails; same REST API pattern, full delivery analytics, own your sending infrastructure completely
  • Self-hosted alternative to SendGrid — eliminate $15–$299/month subscription tiers; useSend gives you transactional API, SMTP relay, bulk sending, and analytics on your own PostgreSQL instance
  • High-volume transactional email at AWS SES pricing — password resets, magic links, order confirmations, and notifications at $0.10/1,000 with no tier limits or overage fees
  • Email marketing without Mailchimp fees — send newsletter campaigns, product updates, and drip sequences via the visual WYSIWYG editor with contact list management and per-list subscription tracking — all on your infrastructure
  • Multi-domain email API for SaaS — manage multiple sending domains, separate API keys per project, and per-domain analytics from a single useSend deployment
  • Railway Hobby plan email solution — Railway blocks SMTP on Hobby plans; useSend's REST API routes through AWS SES over HTTPS, working on every Railway plan without SMTP

Configuration

VariableRequiredDescription
GITHUB_ID✅ RequiredGitHub OAuth app client ID — for user authentication
GITHUB_SECRET✅ RequiredGitHub OAuth app client secret
AWS_ACCESS_KEY✅ RequiredAWS access key ID with SES and SNS permissions
AWS_SECRET_KEY✅ RequiredAWS secret access key
NEXTAUTH_SECRET✅ Auto-generatedNextAuth.js session secret — auto-generated at deploy
DATABASE_URL✅ Auto-injectedPostgreSQL connection string via Railway reference variable
REDIS_URL✅ Auto-injectedRedis connection URI via Railway reference variable
NEXT_PUBLIC_APP_URL✅ Auto-setYour Railway public domain — required for OAuth callbacks
MINIO_ENDPOINT✅ Auto-injectedMinIO internal endpoint via Railway reference variable
MINIO_ACCESS_KEY✅ Auto-injectedMinIO access key — auto-generated at deploy
MINIO_SECRET_KEY✅ Auto-injectedMinIO secret key — auto-generated at deploy

useSend vs. Managed Email Platforms

useSend (Railway + SES)ResendSendGridPostmark
Base cost~$10–15/mo (Railway)Free–$20/moFree–$15/mo$15/mo
Per-1,000 emails$0.10 (AWS SES)Included in planIncluded in planIncluded in plan
100k emails/month~$20–25 total$40/month$89.95/month$75/month
500k emails/month~$65 total~$90/month~$299/month~$225/month
Data ownership✅ Your infrastructure❌ Resend servers❌ SendGrid servers❌ Postmark servers
Contact management✅ Built-in✅ Audiences❌ Basic❌ No
WYSIWYG email editor✅ Visual, no-code❌ No⚠️ Design editor❌ No
SMTP relay✅ Yes❌ No✅ Yes✅ Yes
Self-hostable✅ Yes❌ No❌ No❌ No
Open source✅ Yes❌ No❌ No❌ No

Dependencies for useSend Hosting

  • Railway account — Hobby plan (~$10–15/month) covers all six services
  • AWS account with SES + SNS access (IAM user with programmatic keys)
  • GitHub account for OAuth app creation

Deployment Dependencies

Implementation Details

The full stack deploys over Railway's private internal network. The MinIO Bucket Creator runs once at startup to initialise required buckets, then exits. All credentials are wired via Railway reference variables. AWS SES handles outbound delivery; SNS webhooks send delivery events (delivered, opened, clicked, bounced, complained) back to useSend's PostgreSQL analytics store. Select the AWS region closest to your Railway deployment — us-east-1 is recommended if unsure.


Frequently Asked Questions

How much does useSend cost compared to Resend or SendGrid? Railway compute for the six-service stack runs at ~$10–15/month. AWS SES charges $0.10 per 1,000 emails with no monthly minimum. At 100k emails/month, total cost is ~$20–25 vs Resend at $40 and SendGrid at $89.95. At 500k emails/month, useSend costs ~$65 total vs SendGrid at ~$299/month.

Why does useSend require an AWS account? useSend uses Amazon SES as its delivery infrastructure — the same service behind AWS's own email delivery at $0.10/1,000 emails. AWS provides the sending reputation, IP pool, and compliance infrastructure. useSend provides the API, dashboard, analytics, and contact management layer on top of SES. Without AWS, useSend cannot send emails.

Why does useSend require GitHub for authentication? GitHub OAuth is the only supported login method in the current release. Create a GitHub app with the callback URL pointing to your Railway domain. Other auth providers are planned.

Do I lose email logs and contact data if Railway redeploys? No. All delivery logs, contacts, campaigns, and API keys are stored in the Railway-managed PostgreSQL database. Email assets and images are stored in MinIO with its own persistent volume. Redeploys and updates do not affect any stored data.

Can I send bulk marketing emails as well as transactional? Yes. useSend handles both — transactional via REST API or SMTP relay, and marketing via the visual WYSIWYG editor with contact lists. Both route through SES with per-domain analytics.

Does useSend work on Railway's Hobby plan without SMTP? Yes. useSend routes all email through AWS SES via HTTPS REST calls — not raw SMTP. This works on Railway's Hobby plan where outbound SMTP (ports 25, 465, 587) is blocked.


Why Deploy and Host useSend 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 useSend on Railway, you get a complete self-hosted email platform — transactional API, SMTP relay, bulk campaigns, contact management, and real-time delivery analytics — at AWS SES pricing with no per-platform markup and full ownership of your email infrastructure.


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
View Template
Evolution API with n8n
[Jun'26] WhatsApp HTTP REST API with n8n automation, PostgreSQL and Redis.

codestorm
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates