Authors |
Roman Zukowsky (roman@zukowsky.de) Daniel Hofmann (daniel+spz@trvx.org) Marco Neumann (marco@crepererum.net) Felix Rittler (felix.rittler@web.de) Tobias Dierich (spz@tobiasdierich.de) Simon Zimmermann (timzi777@gmail.com) |
Organization | Sprachenzentrum KIT Karlsruhe |
Source | https://github.com/spz-signup/spz-signup |
Sign up management for the language courses at the KIT Sprachenzentrum.
Feel free to report issues to our issue tracker.
This repository contains the Docker Compose files for running our SPZ Signup Managment application. The application consists of several "Images", of which each one fullfills a different function.
The WSGI-app makes up the main component of our project: It contains the user interfaces and the actual logic for the Signup Management. The apps source code is contained in a separate repository at https://github.com/spz-signup/spz-signup-app.
The app stores its persistent data in a database. Currently we use PostgreSQL but other database implementations could be used too (with small alterations to the underlying data model).
Although the app uses uWSGI, which is already a fully-featured web server, we use NGINX as a proxy for improved performance and security. To simplify the amount of neccessary configuration (especially for LetsEncrypt) we prefer the image nginx-proxy by jwilder over an official nginx build.
In the current implmentation we use Celery for several periodic tasks (e.g. Ilias-harvesting). This setup requires quite a few docker images:
- Celery Beat
- Celery Workers (default and slow_mails)
- Redis (which is used for inter process communication)
We use OpenSMPTD for delivering confirmation mails (and alike) to course applicants and participants. During development we do not send out actual emails but use the image maildev.
For production we also use the docker images jrcs/letsencrypt-nginx-proxy-companion, spzsignup/docker-postgres-backup and southclaws/restic-robot.