1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
===================================
Set up HyperKitty 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
|