The homepage for our and associated hostnames.
JavaScript Python CSS HTML

This repository hosts the code for our homepage at

The homepage is still an evolving project, with many features unifinished, maybe buggy, etc.


  • Python 3.4+, Django 1.10+
  • A webserver and a database (anything that works with Django)
  • An XMPP-server, this project interfaces with it via xmpp-backends.


  • A pretty standard blog including static pages.
  • Vary some behavior depending on the hostname used, e.g. a different logo on, and
  • A contact page, with GPG encryption if the user added keys.
  • Verious tasks are performed asynchronously using a Celery worker. This adds fast response times even if an operation takes a while (e.g. fetching keys, keyservers are notoriously slow) and dynamic retries (e.g. fetching keys, keyservers are notoriously unreliable).

User management

  • Registration and password reset for XMPP users directly on the homepage.
  • Authentication is performed against the XMPP server, the password is never stored locally.
  • Users can add GPG keys to encrypt emails (password reset, ...) with GPG.
  • Manage XEP-0363 uploads.


The documentation is located at




  • Tags and comments on blog posts.
  • Add a webclient again (JSXC or converse.js?).
  • Calendar export of scheduled downtimes.
  • Minimize Javascript and CSS.
  • Search functionality.


These are a bit further down the road.

  1. Some account settings integration (e.g. ability to configure MAM settings)
  2. Security stuff (e.g. from where you logged in recently, ...)
  3. Notifications/verifications of new logins (e.g. from new countries), maybe?


bootrap inspiration for styling the blog: