Backends - SomethingWithHorizons/mailserver GitHub Wiki

MySQL (Recommended)

  • ✔️ Commonly used
  • ✔️ Can be accessed via TCP/IP by external services/containers
  • ✔️ Can be managed by web interfaces, like phpMyAdmin
  • ✔️ Changing passwords via e.g. webmail client
  • ⚠️ Requires additional configuration to setup databases and users
  • ⚠️ Not as easy to backup/restore; a periodic execution of mysqldump is highly recommended
  • ⚠️ Requires additional system service provided by mariadb-server (recommended), mysql-server or percona-server

SQLite

  • ✔️ Lightweight
  • ✔️ Portable (single file)
  • ✔️ Easy setup
  • ⚠️ Knowledge of the SQL syntax is highly recommended
  • ⚠️ Doesn't have a web interface(1) for managing your domains, mailboxes and aliases
  • ⚠️ Can't handle multiple requests at the same and is therefor only recommended if you've a small (<10) userbase
  • ⚠️ Localhost only; can't be used by external services/containers
  • ❌ Changing passwords via e.g. webmail client won't be possible
  • ❌ No user-management/security. Database is only protected by file permissions
  1. There's phpliteadmin. However this lives in the WEB userspace and the database will be within the MAIL userspace, meaning that the database won't be read- or writable by the webserver.

PostgreSQL

We've no experience with PostgreSQL and therefor won't be discussed in this guide. However you're freely to use this backend if you please so. We highly appreciate contributions! If you've experience with PostgreSQL and would like to provide documentation please let us know!