Kite

An opensource gmail replacement.

Try the demo ! OR View the screenshots

Kite is a gmail clone you can install on a server of your own. It's pretty limited for the moment, but I hope to get something usable in the next few months.

If you're feeling adventurous, here's how to install the latest Kite alpha on your server.

Screenshots (click thumbnails to enlarge)

Kite doesn't do much for the moment. Basically, it can display the emails in your mailbox.

The general view looks a lot like gmail but barer :

Clicking in on a conversation opens the conversation view :

This is your standard login window :

Setup

Setting up Kite is pretty easy. The only tricky part is the DNS.

Setting up your machine

You'll need a machine (real or virtual) with Ubuntu 12.04LTS. Debian should probably work, but I haven't tested it yet.

Setting up the DNS

This is the trickiest part of the setup because you'll have to modify your domain's DNS configuration on your registrar's website. Unfortunately, DNS is complicated and all registrars have different and sometimes very confusing interfaces.

These instructions are pretty high-level, so don't hesitate to contact me if you need additional guidance.

Let's say you own the domain "example.com", a server at IP address 192.168.50.4, and you'd like to deploy a kite instance on it.

You'll need to add to your DNS config:

  • one A record to point to your server's IP address.
  • one MX record to specify the mail server for your domain.

In the case of our example.com domain, this is what the config should look like:

Record name Record value Record type Time-To-Live
mail 192.168.50.4 A 1h
@ mail.example.com. (This is not a typo. The value ends with a '.') MX 1h

Installing Kite

The rest of the install is pretty easy:

  • Get the latest sources

    git clone http://github.com/khamidou/kite # Get the latest sources
                        
  • Install Fabric (assuming you are using a debian based distro).

    sudo apt-get install fabric
                                
  • Run the setup (the setup is run as root, but any user who is a sudoer can be used instead)

    cd kite
    fab setup -u root -H mail.example.com
    
  • Optionaly, if you'd like to have a more secure server, run:

    fab tighten -u root -H mail.example.com
    
    Running tighten disables ssh password-based auth and setups fail2ban, among other things.

You're done! You now have a functional instance of kite running!

Why Kite?

I really like gmail. I use it a lot. Google got a lot of things right when they designed it. However I'd like to be in control of my data, and to host it in on my own server.

A few months ago I decided to set up my own mail server so I started shopping around for potential solutions. A lot of the components that make an email server already work : Postfix for email handling, Dovecot for IMAP, Spamassassin for SPAM and ElasticSearch for searching.

Unfortunately, I didn't find a webmail that would cut it, so I decided to write my own. After a few months of coding, kite was born!

Kite is still very much alpha software : it can only display individual messages. I hope to get something a lot more useable in the next few months, though. I'll start with threading, gmail-style, and the old school compose.

How can I contribute?

The code and the issues are hosted on Github.

You can also shoot me an email at kite~khamidou.com (replace ~ with @) for suggestions or improvements.

The frontend is written in Javascript with AngularJS, and the backend is in python2.

I use Jasmine and unittest.py for the tests.