Schuelerapp Docker-Komplettpaket (Compose-Steuerdatei)
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Pablo1732 8809cc83b1 Version 0.3.0
WebServer mit Admin-Panel.

- WebServer auf v0.3.3 gehoben: Aushang-/Alarm-Verwaltung unter /admin, serverseitiger Zustand, Crossfade-Uebergaenge.
2026-09-15 14:35:58 +02:00
.gitignore Version 0.1.0 2026-09-15 14:35:57 +02:00
docker-compose.yml Version 0.3.0 2026-09-15 14:35:58 +02:00
README.md Version 0.3.0 2026-09-15 14:35:58 +02:00

schuelerapp-fullstack

Vereint die zwei VPlan-Container in einer docker-compose.yml:

  1. vplan-parser -- laedt den Schul-Vertretungsplan herunter und wandelt ihn in vertretungen.json um.
  2. vplan-webserver -- macht daraus eine Webseite mit drei Ansichten sowie eine Aushang-/Alarm-Verwaltung unter /admin/.

Beide teilen sich ./data/json: der Parser schreibt, der WebServer liest (nur lesend). Ein docker compose up -d startet die komplette Kette.

  vplan-parser --schreibt--> ./data/json/vertretungen.json --liest--> vplan-web --> http://<server>:8080/
Bestandteil Version
FullStack (dieses Paket) 0.3.0
vplan-parser 0.1.1
vplan-webserver 0.3.3

Setup / Installation

1. Docker vorhanden?

docker version

2. Bei der Registry anmelden (einmalig)

docker login git.pablo1732.de

3. Einstellungen anpassen

In der docker-compose.yml mindestens die Serveradresse setzen (Service vplan-parser):

DOWNLOAD_URL: "http://192.168.2.11"   # <- IP/Adresse deines Vertretungsplan-Servers

Und im Service vplan-web ein echtes Passwort fuers Admin-Panel setzen (sonst ist der Login deaktiviert):

ADMIN_PASSWORD: "bitte-aendern"   # <- eigenes Passwort statt des Platzhalters

4. Starten

docker compose pull
docker compose up -d

Anzeige unter http://<server>:8080/ (lokal: localhost).

Kontrolle: docker compose logs -f (mit Strg+C wieder raus).

Bedienung / Anpassung

docker compose up -d      # startet beide im Hintergrund
docker compose logs -f    # Live-Logs beider Container
docker compose down       # stoppt und entfernt beide Container
docker compose restart    # beide neu starten

Nur einen Container ansprechen? Namen anhaengen, z.B. docker compose logs -f vplan-parser.

Einstellungen

Details zu allen Variablen: siehe README der jeweiligen Einzel-Repos (vplan-parser, vplan-webserver).

Einstellung Standard Bedeutung
INTERVAL_SECONDS 30 Sekunden zwischen zwei Parser-Durchlaeufen.
DOWNLOAD_URL http://192.168.2.11 IP/Webadresse des Vertretungsplan-Servers.
POLL_SECONDS 20 Sekunden zwischen zwei Pruefungen auf neue vertretungen.json.
ADMIN_PASSWORD bitte-aendern Passwort fuers Admin-Panel. Leer = Login deaktiviert.

Die drei Ansichten

  • /schueler/ -- gruppiert nach Klassen/Jahrgangsstufen.
  • /lehrer_sort_stunden/ -- gruppiert nach Unterrichtsstunde.
  • /lehrer_sort_lehrkraft/ -- gruppiert nach Lehrkraft.

Aushang-Verwaltung (Admin-Panel)

Unter http://<server>:8080/admin/ meldet sich die Schulleitung an und kann Aushaenge (Bilder/PDFs/Textmeldungen) schalten sowie Feueralarm/Amok ausloesen. Details: siehe README von vplan-webserver.

Keine/veraltete Daten in der Anzeige?

  • "Keine Plandaten geladen": Der WebServer findet keine vertretungen.json. Laeuft der Parser? (docker compose logs -f vplan-parser)
  • "Plan veraltet": Die JSON enthaelt nur vergangene Tage -- normal, wenn gerade kein aktueller Plan vorliegt.