selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
SimpleRelay logo

Self-host SimpleRelay

v1.1.0

SMTP relay you host with a web dashboard

ReleaseOpen SourceMIT
Updated4 months ago
LanguagePython
Setup difficultyModerate
Stars
189
Ports
8080 (Web dashboard), 2525 (SMTP relay (your apps connect here))
Requires
Postfix, PostgreSQL
Install with Docker Compose
SimpleRelay web dashboard showing sent count, provider health, and mail logs

What is SimpleRelay?

SimpleRelay is a self-hosted SMTP relay for homelabs and small teams that sends outgoing mail through various upstream providers like Gmail, Outlook, or custom SMTP servers, choosing the right one based on the sender address. Its web interface includes a setup wizard that auto-detects provider settings, checks DNS records (SPF, DKIM, DMARC), and enforces IP whitelists with optional SMTP authentication. You can view searchable mail logs, monitor provider health, and manage users, proxies, and sending limits from an admin panel. The whole stack runs in one Docker Compose file with Postfix, PostgreSQL, FastAPI, and a React frontend. It works on a LAN without a public IP or port forwarding.

Should you self-host SimpleRelay?

SimpleRelay scores 46/100 on selfhost.directory (how scoring works) and ranks #77 of 106 in Email. It has 189 GitHub stars.

It shipped 2 stable releases in the past year. The latest, v1.1.0, came out on 20 June 2026. New versions land roughly every 5 days.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Listmonk (80/100, 24 017 stars). It scores higher overall, so compare the two before you pick. See SimpleRelay vs Listmonk side by side.

Features

  • DNS validation
  • Domain routing
  • Email Verification
  • Health Monitoring
  • Mail logs
  • Multilingual UI
  • Multi-tenant SMTP relay
  • Per-sender access control
  • Provider auto-detection
  • Provider type limits
  • Proxy management
  • Relay expiry
  • User Management
  • Web Dashboard

SimpleRelay README

How to install SimpleRelay

Install SimpleRelay with Docker Compose

Environment variables
RELAY_ADMIN_EMAIL, RELAY_ADMIN_PASSWORD, RELAY_SECRET_KEY, RELAY_HOSTNAME, RELAY_PUBLIC_IP, RELAY_BASE_URL, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB, RELAY_DATABASE_URL, RELAY_SMTP_HOST, RELAY_SMTP_PORT, RELAY_SMTP_USER, RELAY_SMTP_PASSWORD, RELAY_SMTP_FROM, RELAY_SMTP_TLS

git clone https://github.com/toinbox/simplerelay.git cd simplerelay cp env.example .env nano .env docker compose up --build -d

Single Docker Compose deployment (Postfix + PostgreSQL + FastAPI + React/Vite)

How to configure SimpleRelay

  • POSTGRES_DBsimplerelayPostgreSQL database name

    PostgreSQL database name

  • POSTGRES_PASSWORDsimplerelayPostgreSQL password

    PostgreSQL password

  • POSTGRES_USERsimplerelayPostgreSQL username

    PostgreSQL username

  • RELAY_ADMIN_EMAILAdmin login email (created on first start)

    Admin login email (created on first start)

  • RELAY_ADMIN_PASSWORDAdmin password

    Admin password

  • RELAY_BASE_URLFull URL of the web dashboard (for verification email links)

    Full URL of the web dashboard (for verification email links)

  • RELAY_DATABASE_URLpostgresql://simplerelay:simplerelay@db:5432/simplerelayPostgreSQL connection URL

    PostgreSQL connection URL

  • RELAY_HOSTNAMEPublic hostname of this server (used in EHLO, shown in UI)

    Public hostname of this server (used in EHLO, shown in UI)

  • RELAY_PUBLIC_IPServer public IP (for SPF/PTR guidance)

    Server public IP (for SPF/PTR guidance)

  • RELAY_SECRET_KEYJWT secret, generate with python3 -c "import secrets; print(secrets.token_urlsafe(32))"

    JWT secret, generate with python3 -c "import secrets; print(secrets.token_urlsafe(32))"

  • RELAY_SMTP_FROMFrom address for system emails

    From address for system emails

  • RELAY_SMTP_HOSTSMTP server for system emails (verification, password reset)

    SMTP server for system emails (verification, password reset)

  • RELAY_SMTP_PASSWORDSMTP password for system emails

    SMTP password for system emails

  • RELAY_SMTP_PORT587SMTP port for system emails

    SMTP port for system emails

  • RELAY_SMTP_TLStrueUse STARTTLS for system emails

    Use STARTTLS for system emails

  • RELAY_SMTP_USERSMTP username for system emails

    SMTP username for system emails

SimpleRelay releases & version history

More in Self-hosting

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…