Install the Linux binary

SubsiMail also ships as a single static binary (musl-linked, no shared libraries to install) if you'd rather not run Docker.

Run it

Make it executable and run it from the directory where you want its data/ folder created:

chmod +x subsimail
./subsimail
Terminal running the subsimail binary
./subsimail starting up and logging its listening address

By default it listens on port 3000 and stores its SQLite database at data/subsimail.db, relative to wherever you launched it from. Open http://your-server:3000 to continue with first-run setup.

Environment variables

PORTPort to listen on (default 3000)
DATABASE_URLSQLite connection string, e.g. sqlite:///opt/subsimail/data/subsimail.db
RUST_LOGLog verbosity, e.g. info
ACME_DOMAIN / ACME_EMAIL / ACME_PRODUCTIONOptional, same automatic-HTTPS behavior as the Docker install
DATABASE_URL=sqlite:///opt/subsimail/data/subsimail.db PORT=3000 RUST_LOG=info ./subsimail

Running as a service

For anything beyond a quick test, run it under systemd so it survives reboots and crashes restart it automatically:

[Unit]
Description=SubsiMail
After=network.target

[Service]
WorkingDirectory=/opt/subsimail
ExecStart=/opt/subsimail/subsimail
Environment=DATABASE_URL=sqlite:///opt/subsimail/data/subsimail.db
Environment=PORT=3000
Restart=on-failure

[Install]
WantedBy=multi-user.target

Save that as /etc/systemd/system/subsimail.service, then:

sudo systemctl enable --now subsimail