Webmail server
This project is maintained by traut
Curie is designed to be a GMail replacement
These are the steps to configure local dev Curie instance:
1. Requirements:
2. Download and run bootstrap.sh. It will create local instance in the current directory (download/configure Solr, checkout/configure Curie).
curl https://raw.github.com/traut/curie/master/bin/bootstrap.sh | bash
If the last line of the output is "To start all the processes use run-all.sh" then everything is fine and you can try running workers and services.
3. To run Solr, the workers and Curie webserver run run-all.sh:
$ ./curie/front/bin/run-all.sh
There is a high probability that this will not work out of the box. You can find more info in ./curie-*.log files. Try running the demons manually, maybe in screen session.
4. To create a new user account, you would have to go into node shell and call users.addAccount function:
~$ cd curie/front/
~/curie/front$ node
> users = require('./users.js')
{ addAccount: [Function: addAccount],
signIn: [Function: signIn],
getAccountEmails: [Function: getAccountEmails],
getAccountDetails: [Function: getAccountDetails] }
> users.addAccount('login', 'password', [{ fullname : 'James Bond', email : 'james@bond.com' }, { fullname : 'Bruce Wayne', email : 'bruce.wayne@wayne.com'}]);
undefined
> 15:09:35.675 - info: [users] Account 5 created with 2 email addresses
~/curie/front$
5. Now you should be able to go to http://localhost:8080/ and sign in with credentials you provided
Script | Description |
---|---|
watcher.py |
Watcher catches changes in Maildir, moves files to a storage dir and pushes events to "inbox" queue. Event is just a string - a path to a raw email blob. |
parser.sh |
Parser (java code) parses email messages, creates *.raw.json and *.parsed.json files (according to schemas) next to a raw email file. |
indexer.py |
Reads *.parsed.json files and pushes updates to a Solr instance. |
labeler.py |
Reads pre-defined filters (global and user specific) and adds labels to a doc in Solr index |