The web application is configured in /etc/hyperkitty/settings_local.py
which
is included by the default configuration in
/srv/www/webapps/mailman/hyperkitty/settings.py.
/etc/hyperkitty/settings_local.py
:
SECRET_KEY = 'something-very-secret'
/etc/hyperkitty/settings_local.py
:
DEBUG = False
/etc/hyperkitty/settings_local.py
:
ALLOWED_HOSTS = [
'localhost',
'lists.example.com'
]
/etc/hyperkitty/settings_local.py
:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
EMAIL_HOST_USER = <username>
EMAIL_HOST_PASSWORD = <password>
/etc/hyperkitty/settings_local.py
:
MAILMAN_REST_API_URL = 'http://localhost:8001'
MAILMAN_REST_API_USER = 'rest_admin'
MAILMAN_REST_API_PASS = 'rest_admin_password'
To configure the archive integration with a mailman instance first setup the integration with hyperkitty on mailman's side and then configure hyperkitty to accept those connections:
/etc/hyperkitty/settings_local.py
:
MAILMAN_ARCHIVER_KEY = 'SecretArchiverAPIKey'
MAILMAN_ARCHIVER_FROM = ('127.0.0.1', '::1')
Optional: Configure postgres or another database (default: sqlite3)
Create and setup the database
hyperkitty-manage migrate
Populate the database with default data (when setting up for the first time):
hyperkitty-manage loaddata first_start
Create admin user
hyperkitty-manage createsuperuser
Enable HyperKitty async tasks runner
systemctl enable --now hyperkitty-qcluster.service
Enable HyperKitty runjob timers
systemctl enable hyperkitty-runjob-minutely.timer systemctl enable hyperkitty-runjob-quarter-hourly.timer systemctl enable hyperkitty-runjob-hourly.timer systemctl enable hyperkitty-runjob-daily.timer systemctl enable hyperkitty-runjob-weekly.timer systemctl enable hyperkitty-runjob-monthly.timer systemctl enable hyperkitty-runjob-yearly.timer
To configure hyperkitty with Apache and uwsgi, just add the follwing lines to a vhost:
ProxyPassMatch ^/static !
ProxyPass / unix:/run/uwsgi/uwsgi-hyperkitty.sock|uwsgi://localhost/
<Directory /srv/www/webapps/mailman/hyperkitty>
Require all granted
</Directory>
Hyperkitty can make use of a Xapian based search backend.
/etc/hyperkitty/settings_local.py
:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'xapian_backend.XapianEngine',
'PATH': "/var/lib/hyperkitty/data/xapian_index",
},
}
Make sure to create the search index for all lists afterwards.
hyperkitty-manage update_index