main
CIS Enhanced
Bessere Ansichten für das FH-Burgenland-CIS:
- Studentenplan - eigener oder fremder Plan (Matrikelnummer), Wochenansicht + Semesterübersicht, iCal/CSV-Export
- Studiengangs-Pläne - nach Studiengang, Studien-Semester und Verband (Vollzeit/Berufsbegleitend), inkl. Gruppen-Filter
- Namenslisten - je Studiengang/Semester/Verband mit Suche und CSV-Export
- Fotos - Fotowand je Verband + Gesichtssuche: eigenes Foto hochladen, die App findet die passenden Profile (lokaler SCRFD/MobileFaceNet, läuft ohne Internet-API)
- Studiennummer-Decoder - Matrikelnummer wird in Startsemester, Studiengang und Nummer zerlegt
Lokal starten
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt # Windows
# venv/bin/pip install -r requirements.txt # Linux/Mac
.venv\Scripts\python run.py
Öffne http://127.0.0.1:8067
Konfiguration
Zugangsdaten in .env eintragen (Vorlage: .env.example):
CIS_USER=<matrikelnummer>
CIS_PASSWORD=<passwort>
CIS_BASE_URL=https://cis.hochschule-burgenland.at/cis
OWN_UID=<eigene matrikelnummer>
.env wird nicht in das Docker-Image kopiert (.dockerignore), sondern zur Laufzeit übergeben.
Datenverzeichnis data/
Das Gesichtsmatching lädt beim ersten Start die Modelle (~16 MB,
insightface/buffalo_sc) nach data/models und speichert Caches in
data/ (Profilbilder, Person-IDs, Gesichtsembeddings). Alles wird
automatisch angelegt. Im Docker-Setup ist data/ als Named Volume
(cis-data) gemountet, damit Modelle und Caches beim Rebuild erhalten
bleiben.
Docker
# Image bauen
docker build -t cis-enhanced .
# Starten (Zugangsdaten aus .env)
docker run -d --name cis-enhanced --restart unless-stopped \
-p 8067:8067 --env-file .env cis-enhanced
# oder mit Compose
docker compose up -d --build
Deploy (Caddy)
App auf Port 8067 starten (z.B. als systemd-Service, oder der Docker-Container
portet nach 127.0.0.1:8067), Caddy davor:
deinedomain.at {
reverse_proxy 127.0.0.1:8067
}
systemd-Beispiel:
[Unit]
Description=CIS Enhanced
After=network.target
[Service]
WorkingDirectory=/pfad/zu/cis-enhanced
ExecStart=/pfad/zu/cis-enhanced/.venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8067
Restart=always
User=www-data
[Install]
WantedBy=multi-user.target
Languages
Python
46.3%
HTML
22.8%
JavaScript
18.6%
CSS
12%
Dockerfile
0.3%