- Update to version 1.3.4 * Sync owners and moderators from Mailman Core for MailingList. (Fixes #302) * Implemented a new HYPERKITTY_JOBS_UPDATE_INDEX_LOCK_LIFE setting to set the lock lifetime for the update_and_clean_index job. (Closes #300) * Implemented a new HYPERKITTY_ALLOW_WEB_POSTING that allows disabling the web posting feature. (Closes #264) * Add the ability to disable Gravatar using HYPERKITTY_ENABLE_GRAVATAR settings. (Closes #303) * Replaced deprecated ugettext functions with gettext. (Closes #310) * Fix export of Email message where the In-Reply-To header doesn’t include the <> brackets. (Closes #331) * We now catch a few more exceptions in hyperkitty_import when getting messages from a mbox. (Closes #313 and #314) * Added a new contrib/check_hk_import script to check mboxes before running hyperkitty_import. * We now ignore a ValueError in hyperkitty_import when trying to replace a Subject: header. (Closes #317) * hyperkitty_import now includes the mbox name in error messages when importing multiple mboxes. (Closes #318) * `` at `` is now only replaced with @ in From: header values when necessary and not unconditionally. (Closes #320) * The wildcard notation for any host '*' is now supported into MAILMAN_ARCHVER_FROM to disable Hyperkitty clients IP checking. * Join the searchbar and search button like it was before bootstrap 4 migration. (See !301) * Use the umd builds for popper.js instead of the regular ones. (See !309) * Exceptions thrown by smtplib in sending replies are now caught and give an appropriate error message. (Closes #309) - Removed hyperkitty-fix-tests.patch - Fixed build on tumbleweed OBS-URL: https://build.opensuse.org/request/show/882392 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-HyperKitty?expand=0&rev=8
HyperKitty
Configuration
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.
-
Optional: Change the default secret for the application: We already created one, but feel free to replace with a stronger alternative.
/etc/hyperkitty/settings_local.py
:SECRET_KEY = 'something-very-secret'
-
Make sure to disable debugging when running in production:
/etc/hyperkitty/settings_local.py
:DEBUG = False
-
The valid hosts or domain names for the application need to be defined:
/etc/hyperkitty/settings_local.py
:ALLOWED_HOSTS = [ 'localhost', 'lists.example.com' ]
-
Add a valid email configuration
/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>
-
To connect with a running mailman instance's REST API, configuration options have to be added to hyperkitty's configuration.
/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
Apache2
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>
Xapian search backend
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