===================================== Set up the archive ui in five minutes ===================================== .. note:: This document is way out of date. If you have access to the Web, the most recent explanation of setting up a full Mailman 3 system, including Postorius and HyperKitty, is the `Development Setup Guide`_ at `FedoraHosted`_. If you must work offline, this document may be of some use, but be careful. The `hyperkitty`_ application aims at providing an interface to visualize and explore Mailman archives. This is a `Django`_ project. Requirements ============ - A mail archive in `maildir format`_ (no, you don't need a running Mailman 3!) Eventually hyperkitty will support `mbox format`_ for backward compatibility with *Pipermail*, and *zipped maildirs* seem like a good idea to save space. **Beware:** Although you'd think that we would be able to manipulate the venerable *mbox* format safely and efficiently, that doesn't seem to be the case. *Maildir* archives are **strongly** preferred, because they are more robust to program bugs (whether in Mailman, hyperkitty, or in the originating MUA!) - Django is the web framework that supports the UI. - `bunch`_ DOES WHAT? - The `notmuch mail indexer`_ is used to generate indexes (and requires `Xapian`_). - hyperkitty itself, which is a UI, and not responsible for maintaining the message archive itself. (Since the archive is in `maildir format`_, any modern MTA or MDA can build one for you.) Get it running (under virtualenv): ---------------------------------- It is generally a good idea to use `virtualenv`_ to create a stable environment for your Python applications. - Create the virtualenv:: % virtualenv mailman3 - Activate the virtualenv:: % cd mailman3 % source bin/activate You don't *have* to use virtualenv, though, and if you don't want to, just omit the preceding steps. Continue with these steps. - Install Django and dependencies:: % easy_install django % easy_install bunch - Install notmuch -- these are bindings that come with the notmuch C library. The easiest way is probably to install them for your OS vendor and then symlink them into the virtualenv similar to this:: % yum install -y python-notmuch - Note: on a multiarch system like Fedora, the directories may be lib64 rather than lib on 64 bit systems. Next:: % cd lib/python2.7/site-packages % ln -s /usr/lib/python2.7/site-packages/notmuch . - Note: this is the version of notmuch I tested with; others may work:: % ln -s /usr/lib/python2.7/site-packages/notmuch-0.11-py2.7.egg-info . - Install the hyperkitty sources:: % git clone https://github.com/hyperkitty/kittystore.git % git clone https://github.com/hyperkitty/hyperkitty.git % git clone https://github.com/hyperkitty/hyperkitty_standalone.git Running hyperkitty ------------------ - Start it:: % cd hyperkitty - Put the static content where it should be:: % python manage.py collectstatic - Run the Django server:: % python manage.py runserver .. _`Development Setup Guide`: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide .. _`FedoraHosted`: https://fedorahosted.org/ .. _`hyperkitty`: https://fedorahosted.org/hyperkitty/ .. _`Django`: http://djangoproject.org/ .. _`notmuch mail indexer`: http://notmuchmail.org .. _`bunch`: http://pypi.python.org/pypi/bunch .. _`Xapian`: http://xapian.org/ .. _`maildir format`: http://en.wikipedia.org/wiki/Maildir .. _`mbox format`: http://en.wikipedia.org/wiki/Mbox .. _`virtualenv`: http://pypi.python.org/pypi/virtualenv