Metadata-Version: 2.1
Name: kolombo
Version: 0.5.0.dev0
Summary: Kolombo - CLI for easy mail server managing 💌
Home-page: https://github.com/HarrySky/kolombo
Author: Igor Nehoroshev
Author-email: hi@neigor.me
Maintainer: Igor Nehoroshev
Maintainer-email: hi@neigor.me
License: Apache License 2.0
Project-URL: Documentation, https://docs.neigor.me/kolombo
Project-URL: Changelog, https://github/HarrySky/kolombo/blob/main/README.md
Project-URL: Source, https://github.com/HarrySky/kolombo
Project-URL: Tracker, https://github.com/HarrySky/kolombo/issues
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Communications :: Email
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: aiosqlite (==0.17.0)
Requires-Dist: click (==8.0.1)
Requires-Dist: cryptography (==3.4.8)
Requires-Dist: databases (==0.5.2)
Requires-Dist: docker (==5.0.2)
Requires-Dist: ormar (==0.10.19)
Requires-Dist: rich (==10.10.0)
Requires-Dist: shellingham (==1.4.0)
Requires-Dist: typer (==0.4.0)
Requires-Dist: importlib-resources (==5.2.2) ; python_version < "3.9"

# Kolombo

![Kolombo Logo](https://raw.githubusercontent.com/HarrySky/kolombo/main/logo.png "Kolombo Logo")

CLI for easy mail server managing 💌

**NB! Work in progress, not ready for production use!**

## Introduction

What Kolombo does:
- Configures email domains (`example.com/mx.example.com`) and users (`info@example.com`)
- Generates DKIM keys with TXT records to add to DNS
- Manages all services needed for email to work in docker-compose

## Installation

Python 3.8+, sudo, Docker and docker-compose should be installed on system.

Install with pip:
```sh
pip install kolombo
```

## How to use

Documentation is coming, for now,
this is how to setup mail server for
domain `example.com` with user `info@example.com`

```sh
# Initialize Kolombo
kolombo init

# Add domain and generate DKIM keys for it
kolombo domain add example.com mx.example.com  # MX field is optional
kolombo dkim generate example.com  # generates DKIM keys and returns DNS TXT record to add
kolombo dkim txt example.com  # returns DNS TXT record to add

# Add user (email) for domain you just added
kolombo user add info@example.com

# Deploy Kolombo services and senders one by one...
kolombo run receiver  # Listens on 25 for incoming mail, gives emails to users that come through nginx 993/995 ports
kolombo run auth  # Authenticates SMTP/POP3/IMAP users from nginx
kolombo run nginx  # Listens on 465 (SMTP), 993 (IMAP) and 995 (POP3)
kolombo run senders  # Send emails from users that come through nginx 465 port

# ... or deploy all everything at once
kolombo run all

# Stop all Kolombo services and senders
kolombo stop all

# ... or stop them one by one
kolombo stop receiver
kolombo stop auth
kolombo stop nginx
kolombo stop senders
```


