mailrust

Install

Up and runningin a minute.

mailrust is one static program. The installer puts it on a Linux server with systemd, starts it and prints a link where you finish setup in the browser.

curl -fsSL https://mailrust.com/install.sh | sh

01Two ways

Your proxy,or none at all.

Behind your web server

mailrust listens on 127.0.0.1:8420. Point nginx, Caddy or your hosting panel at it, the way you do for any app.

curl -fsSL https://mailrust.com/install.sh | sh

HTTPS by itself

mailrust answers on ports 443 and 80 and gets a Let's Encrypt certificate on its own. Point the domain at the server first.

curl -fsSL https://mailrust.com/install.sh | sh -s -- --domain mail.example.com

02What it does

Nothing hidden.

Program/usr/local/bin/mailrust, one file
Usera system user called mailrust
Data/var/lib/mailrust
Settings/etc/mailrust/mailrust.env
Servicea systemd unit, started right away
First runa one-time link to create the administrator and set the address

03Options

Flags.

--domain NAMEserve HTTPS for NAME with Let's Encrypt
--email ADDRESScontact for Let's Encrypt notices
--listen ADDRaddress for the proxy mode, 127.0.0.1:8420 by default
--version VERinstall this version instead of the latest
--no-startinstall, but do not start the service
--uninstallremove the program and the service, keep data and settings
--purgewith --uninstall, also delete data and settings

04Updates

Signed.Reversible.

mailrust update downloads the new version, checks its signature and checksum, keeps the previous one and restarts the service. If the new version does not start, the old one comes back. Running the installer again also updates the program and keeps your data.

sudo mailrust update

mailrust update --check only tells you whether there is a new version.

05Requirements

Server

Linux on x86_64 with systemd. A small VPS is enough to start.

Mailboxes

Any IMAP and SMTP account. Gmail and Microsoft 365 sign in with OAuth.

Domain

Optional. Needed for HTTPS by itself, with ports 80 and 443 free.

Docker

An official image is on the way.

In progress