Ich zeige euch hier, wie ihr die Lernplattform Ilias in wenigen Minuten mit Docker realisiert. Traefik dient uns hier als Reverse Proxy und stellt später den Dienst verschlüsselt per TLS bereit.

Update

27.12.2020 Anleitung für Ilias 6.6 angepasst.
28.04.2020 Erstellung dieser Anleitung.

Wer Traefik noch nicht installiert hat, findet hier eine Anleitung, wie ihr dies schnell tun könnt.

Als Grundlage meiner Anleitung dient dienen die Docker Images von sturai, da Ilias selbst nichts für Docker bereitstellt.

1. Ordner anlegen

Zuerst legen wir uns passende Ordner-Strukturen an.

mkdir -p /opt/containers/ilias/{html,data,lucend,db}

2. Docker Compose anlegen

Nun legen wir die eigentliche Docker Datei an. Hierfür habe ich mir die einzelnen Ilias Compose Dateien von sturai genommen und diese abgeändert für Traefik.

cd /opt/containers/ilias/
nano docker-compose.yml

Inhalt

version: '3.2'
services:
  ilias-db:
    image: mysql:5.7
    container_name: ilias-db
    restart: unless-stopped
    command:
      – character-set-server=utf8
      – collation-server=utf8_general_ci
      – max-allowed-packet=16M
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /opt/containers/ilias/db:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=ilias
      - MYSQL_USER=ilias
      - MYSQL_PASSWORD=test  ### Passwort anpassen ###
      - MYSQL_ROOT_PASSWORD=test ### Passwort anpassen ###

  ilias-app:
    image: sturai/ilias
    container_name: ilias-app
    restart: unless-stopped
    depends_on:
      - ilias-db
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /opt/containers/ilias/html:/var/www/html/data
      - /opt/containers/ilias/data:/var/iliasdata/ilias
    environment:
      - ILIAS_AUTO_SETUP=1
      - ILIAS_DB_HOST=ilias-db
      - ILIAS_DB_NAME=ilias
      - ILIAS_DB_USER=ilias
      - ILIAS_DB_PASSWORD=test  ### MySQL-Passwort von oben verwenden ###
      - ILIAS_ROOT_PASSWORD= sicheresKennwort   ### Passwort anpassen ###
      - ILIAS_SETUP_PASSWORD= sicheresKennwort  ### Passwort anpassen ###
      - ILIAS_CLIENT_NAME=default
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ilias.entrypoints=http"
      - "traefik.http.routers.ilias.rule=Host(`ilias.euredomain.de`)"  ## Hier eure Domain eingeben ##
      - "traefik.http.middlewares.ilias-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.ilias.middlewares=ilias-https-redirect"
      - "traefik.http.routers.ilias-secure.entrypoints=https"
      - "traefik.http.routers.ilias-secure.rule=Host(`ilias.euredomain.de`)" ## Hier eure Domain eingeben ##
      - "traefik.http.routers.ilias-secure.tls=true"
      - "traefik.http.routers.ilias-secure.tls.certresolver=http"
      - "traefik.http.routers.ilias-secure.service=ilias"
      - "traefik.http.services.ilias.loadbalancer.server.port=80"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.ilias-secure.middlewares=secHeaders@file"

    networks:
      - default
      - proxy

  ilias-server:
    image: sturai/ilias-ilserver
    container_name: ilias-server
    restart: unless-stopped
    depends_on:
      - ilias-app
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /opt/containers/ilias/lucened:/var/lucenedata/ilias
      - /opt/containers/ilias/html:/app/data:ro
      - /opt/containers/ilias/data:/app/iliasdata:ro
    networks:
      - default

networks:
  proxy:
    external: true

Notwendige Anpassungen:

  1. MySQL Passwort ändern
  2. MySQL Root Passwort ändern
  3. Ilias root Passwort ändern
  4. Ilias Setup Passwort ändern
  5. 2x eure Domain bei Traefik anpassen (ilias.euredomain.de“)

Diese Docker Compose Datei funktioniert nur, wenn ich euch mittels meiner Anleitung hier Traefik installiert habt. Sonst heißen einige Traefik Variablen wohl anders. Diese müsst ihr dann dementsprechend bei euch anpassen.

Wenn ihr Ilias auf eurer „Hauptdomain“ haben wollt, so gebt ihr folgendes ein:

"traefik.http.routers.ilias.rule=Host(`www.euredomain.de`,`euredomain.de`)"
"traefik.http.routers.ilias-secure.rule=Host(`www.euredomain.de`,`euredomain.de`)"

3. Ilias starten

Ilias startet ihr wie gewohnt mit folgendem Befehl:

docker-compose -f /opt/containers/ilias/docker-compose.yml up -d

4. Ilias Login

Wenn ihr nun auf „ilias.euredomain.de“ geht, dann solltet ihr auf diese Webseite kommen.

Die Zugangsdaten lauten:

  • Name: root
  • Passwort: Passwort, welches in in „ILIAS_ROOT_PASSWORD“ festgelegt habt

5. Quellen

https://hub.docker.com/u/sturai

Teile diesen Beitrag
Christian

Categories:

5 Kommentare

  1. Hallo!

    Bei mir kommt leider ein Fehler, das mySQL nicht gestartet werden kann und keine Verbindung zustande kommt. Schon mit ILIAS 6 probiert?

    Alex

      • Da hat es mir den größten Teil des Kommentars verschluckt. Frage war, was man für Versionen größer 5.4 machen kann, dass das docker-compose funktioniert.
        VG Werner

          • Stark! Wow!
            Werd ich gleich ausprobieren.
            Hab noch eine Frage: auf sturai docker hub ist von einem Cron Job die rede und dass man das mitlaufen lassen kann. A) wozu brauch ich das und B) füg ich das dann einfach als Service so wie im Beispiel dem docker-compose hinzu?
            Danke Dir und VG
            Werner

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.