- ensure that we can create the user and group - make user and group creation verbose so we actually see errors - make it easier to notice to keep buildrequires and runtime requires version limits in sync. This will also help us to notice early when the version of other libraries do not match the requires encoded in the source code. OBS-URL: https://build.opensuse.org/request/show/1123458 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:mailman/python-HyperKitty?expand=0&rev=72
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