Skip to content

Initialization

First of all you need to initialize Kolombo by running following command:

kolombo init

It will create /etc/kolombo files and install autocompletion.

Command is interactive and will ask for your input during setup.

Managing domains

You can manage domains that mail server will be dealing with via kolombo domain.

Adding domains

You can add domain via kolombo domain add like that:

kolombo domain add example.com

It assumes that example.com domain either has no MX record, or has MX record example.com. If you need to specify MX record - you can use optional MX argument like that:

kolombo domain add example.com mx.example.com

NB! Kolombo will use MX domain's LetsEncrypt certificates for TLS encrypted communication.

DKIM keys

You can manage DKIM keys for added domains via kolombo dkim.

Generating DKIM keys

You can generate DKIM keys via kolombo dkim generate like that:

kolombo dkim generate example.com

This command will return TXT record that you will need to add to DNS.

NB! If DKIM keys already exist - they will be overwritten by new ones.

Read DNS TXT record for DKIM

You can read DNS TXT record for existing DKIM keys via kolombo dkim txt like that:

kolombo dkim txt example.com

Managing users

You can manage users that mail server will be dealing with via kolombo user.

Adding users

You can add user via kolombo user add like that:

kolombo user add info@example.com

Command is interactive and will ask for password input.

Kolombo services

Kolombo has following services:

  • receiver
    • listens on host's port 25 for incoming SMTP mail
    • gives email via POP3/IMAP to authenticated users
  • auth
    • authenticates users coming from nginx
  • nginx
    • listens on host's port 465 for outgoing SMTP mail
    • listens on host's port 993 for IMAP requests
    • listens on host's port 995 for POP3 requests
  • sender
    • sends outgoing email via SMTP from authenticated users

Deploying services

You can deploy services via kolombo run.

Commands will build service image and start service.

Deploying everything at once

You can deploy all Kolombo services and senders at once like that:

kolombo run all

Deploying one by one

You can deploy services one by one via kolombo run SERVICE like that:

kolombo run receiver
kolombo run auth
kolombo run nginx
kolombo run senders

This way you can update service when Kolombo was updated.

Stopping services

You can stop services via kolombo stop.

Stopping everything at once

You can stop all Kolombo services and senders at once like that:

kolombo stop all

Deploying one by one

You can stop services one by one via kolombo stop SERVICE like that:

kolombo stop receiver
kolombo stop auth
kolombo stop nginx
kolombo stop senders

You don't need to do it for update, as kolombo run SERVICE recreates service if it is already running