Prod Deploy

This page covers a production-ready deployment that requires multiple servers. If you want to deploy Hyvor Relay on for hobby or small to medium-sized projects (less than 100,000 emails/day), refer to the Easy Deploy page.

Infrastructure

PostgreSQL

Hyvor Relay uses PostgreSQL as the database and also as the message queue. Set up a PostgreSQL server in a production-ready manner. Hyvor Relay has been tested with PostgreSQL 16. If your cloud provider offers a managed PostgreSQL service, feel free to use it. It will make backups, failover, and scaling easier. Otherwise, self-host PostgreSQL with high availability in mind.

Since setting up a PostgreSQL server depends a bit on how your infrastructure is set up, we will not go into details here. Whichever option you choose, make sure that:

  • A dedicated database is created for Hyvor Relay. Recommended name: hyvor_relay.
  • A dedicated user is created with all privileges on the Hyvor Relay database and a strong password.
  • The PostgreSQL server is configured to allow connections from the app servers (ideally via a private network).
  • Backup strategies are in place.

App Servers

How many servers?

The number of app servers you need depends on your expected email volume. Here are some rough guidelines, which are mostly on the safer side:

Servers
Expected Email Volume
1 server, 4GB RAM, 2 CPUs
1,000,000 emails/day
2 servers, 8GB RAM, 4 CPUs
10,000,000 emails/day

See the Scaling & HA page for more insights to make a better estimate.