Aidan 81ac2ab5d7
All checks were successful
Build and Push Nightly CI Image / build_and_push (push) Successful in 4s
Build and Push Docker Image / build_and_push (push) Successful in 3s
fix badges
2025-02-15 20:12:57 -05:00
2025-02-13 18:23:38 +00:00
2025-02-15 20:12:57 -05:00

mail-connect

Build Status Build Status

API bridge for docker-mailserver

mail-connect is still in early beta

What is it

mail-connect aims to connect your docker-mailserver to anything you can imagine, through the power of an API. Despite being used as a core component of LibreCloud, you can still implement mail-connect any way you wish!

We provide an extendable API which interacts with the setup utility via a Docker socket. We have implemented a SQLite database with Drizzle ORM for faster polling of users, with strategic caching and updating.

Features

All features marked with an E are extended features, and are not a part of the original setup utility.

Self-Host with Docker

  1. Clone the repository

    git clone https://git.pontusmail.org/librecloud/mail-connect.git
    
  2. Initialize database

    bunx drizzle-kit generate
    bunx drizzle-kit migrate
    
  3. Copy/modify necessary files

    touch migrate.txt # put emails (one per line) which already exist on the server which users can claim
    cp .env.example .env # you don't need to change anything here
    vim ratelimit.json # optional, customize to your liking
    
  4. Build and run the container

    docker-compose up -d --build
    

    Pre-built images are provided in the Packages tab

    Your server will now be running on port 6723 by default (change this in docker-compose.yml)!

Email

  • Create email
  • List emails
  • E View individual user details
  • E Create email from file
  • Change password
  • Delete email
  • Restrict email

Alias

  • Create alias
  • List aliases
  • Delete alias

Quotas

  • Set quota
  • Delete quota

dovecot-master

  • Add
  • Update
  • Delete
  • List

Config

  • DKIM

Relay

  • Add auth
  • Add domain
  • Exclude domain

Fail2Ban

  • Ban IP
  • Un-ban IP
  • Ban log
  • Fail2Ban status

Debug

  • Fetchmail
  • Login
  • Show mail logs

Future Improvements

I plan to implement a much more powerful API, when everything else has settled. I will be taking a look at the setup utility itself, and seeing how a more efficient approach can be taken.

Since docker-mailserver is built on Dovecot and Postfix, I am confident we can improve this API to be speedy and efficient as ever.

To-Do

  • Implement aforementioned features
  • Swagger support
Description
API bridge for docker-mailserver
Readme Unlicense 115 KiB
Languages
TypeScript 98.6%
Dockerfile 1.4%