diff --git a/README.md b/README.md new file mode 100644 index 0000000..d16d681 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +![mailverse](logo.png) +# Mailverse + +Mailverse is a new and modern email server written in NodeJS. It is designed to be fast, secure and easy to use. + +## Features + +- **SMTP** server with TLS support +- **POP3** server with TLS support +- 🔜 **IMAP** server with TLS support +- 🆕 **Upstreams**: use an existing SMTP/POP server as relay and store your mail on own hardware. Unique to Mailverse +- 🔜 **Web Interface** for managing your instance +- 🔜 **Webmailer** with modern UI +- **MariaDB / MySQL / File System** support for storing mail +- 🔜 **Docker** support + +## Installation + +### 🔜 Docker Compose + +```yml +version: "3" +services: + mailverse: + image: mailverse/mailverse + ports: + - "25:25" + - "110:110" + - "465:465" + - "995:995" + volumes: + - ./mails:/app/mails + - ./config.json:/app/config.json + db: + image: mariadb + environment: + - MYSQL_ROOT_PASSWORD=mailverse + - MYSQL_DATABASE=mailverse + - MYSQL_USER=mailverse + - MYSQL_PASSWORD=mailverse +``` + +### Manual + +1. Install the latest version of NodeJS +2. Clone the repository +3. Run `npm install` +4. Run `npx tsc` +5. Set up a MariaDB / MySQL database and create a user with access to it +6. Create a `config.json` file (see below) +7. Run `node dist/main.js` (may require root permissions) or with a process manager like `pm2` + +## Config + +Copy the example config from `config.sample.json` to `config.json` and adjust it to your needs. diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..e13d586 Binary files /dev/null and b/logo.png differ