Deployment and Configuration

CI/CD Pipelines

ThemisML is deployed via two subsequent CI/CD-Pipelines.

  • Build and Delivery Pipeline:

    This pipeline is automatically triggered by changes in the ThemisML repository. It builds a docker image of the feedback-suggestion service with the docker-compose.production.yml and pushes it to Harbor, the used artifactory.

  • Deploy Pipeline:

    This pipeline is manually triggered if a new software version shall be deployed to the server. It connects to the server via SSH and copies securely the docker-compose.production.yml file and all files defined in it, especially including the traefik configuration files. After that it logs in to Harbor and pulls the docker image. In the end it starts all the docker containers including the feedback-suggestion service, traefik and the PostgreSQL database.

Domains and ports

Traefik listens on the URL https://ios2223cit.ase.cit.tum.de/ on the ports 80 (HTTP) and 443 (HTTPS). However, it redirects all incoming traffic from port 80 to port 443 to ensure a secured connection. For the HTTPS connection, it uses a SSL/TLS certificate from the TUM Rechnerbetriebsgruppe.

Manual Restart of the ThemisML Server:

  • Stopping and removing all running containers:

    docker compose -f docker-compose.production.yml down

  • Alternatively stopping all running containers:

    docker compose -f docker-compose.production.yml stop

  • Starting all containers:

    docker compose -f docker-compose.production.yml up -d