Deployment with Docker

Deploying a Django application is not always totally easy, especially with dependencies like Celery and LaTeX. Therefore, the new and recommended way to deploy the Helfertool is Docker together with a Debian package called helfertoolctl that provides things like a systemd service file.

Together with the Docker container, some more changes were done:

  • There is a YAML configuration file now.
  • The templates for the privacy statement and “About this software” page are stored in the database - no editing of HTML files anymore!
  • The source code in the Git repository was moved to the src directory. Unfortunately, this makes updates of old Helfertool installations more complicated but it was necessary.
  • First steps toward a proper application logging were done: the Docker container already writes some events to a log file, syslog forwarding is also possible.

The installation instructions were updated in order to describe the new setup. It is recommended to migrate existing installations to Docker, the database of course stays the same.

Here are some hints how to move over to Docker:

  • Backup the database and media files.
  • Disable uwsgi service.
  • Follow the installation instructions and install helfertoolctl. Reuse the already existing database.
  • Reconfigure your reverse proxy according to the instructions.
  • Copy the media files to /srv/helfertool/media.

We hope that your migration works smoothly, otherwise please open Github issues for the Helfertool, helfertoolctl or the documentation.

Bower not used anymore

The Helfertool repository now (again) contains all JS and CSS dependencies. This means that npm and bower are no dependency anymore, this should make deployment easier and save around 50MB of disk space.

This means that the node_modules and helfertool/components directories can be removed. It is recommended to run python manage.py collectstatic --clear to remove the old files from the static files directory that is served by the web server.

New documentation

The documentation is now published on https://docs.helfertool.org/.

It contains a section about the deployment of Helfertool that is more detailed than the previous README file. The README now only contains the instructions to setup a development environment.

Some parts are still missing, but the important information should be there. Feel free to create an issue or pull request with improvements!