64 lines
2.0 KiB
Markdown
64 lines
2.0 KiB
Markdown
# ctdo raumstatus
|
|
|
|
Hier ist die sehr alte und gut abgehangene Software von status.ctdo.de
|
|
|
|
Entstanden im Oktober 2013 von Lucas als bastelprojekt im mal etwas mit
|
|
NodeJS zu machen. Damals mit express, und SpaceAPI Support. Es wurde
|
|
der Switch im Raum gepingt um zu schauen ob der Raum "auf" ist.
|
|
|
|
Das ganze wurde mit Angular (1) und ExpressJS gebaut. Es werden die Daten
|
|
live via Websockets zwischen Server und Browser übertragen.
|
|
|
|
Via nmap Scan im Raum wurde die Anzahl von Geräten ermittelt und angezeigt.
|
|
Später erfolgte ein Umbau auf SNMP. Es wurde der Router gefragt welche
|
|
Mac Adressen Online sind, so wurde eine Optionale User-Liste im Status
|
|
angezeigt mit Leuten die im Treff sind. Gespeichert wurden die MAC-User
|
|
Zuordnungen in einer Redis Datenbank.
|
|
|
|
Dann wurde das Energiemeter "flukso" welches im LA Keller die Hauptstromleitung
|
|
zum Treff misst, auch mit eingebaut.
|
|
|
|
Tunix kam dazu und stellte schöne Icons und machts kleinere Verbesserungen,
|
|
Fionera fügte HTML5 Push notifications hinzu.
|
|
|
|
Danach kleinere Änderungen und Erweiterungen von henne, zeus, smash.
|
|
|
|
|
|
|
|
## Entrümpelung 2022
|
|
|
|
Das meiste an Funktionn wurde wiede raus geworfen weil sich die CTDO infrastruktur
|
|
sehr verändert hat und einiges kaputt war.
|
|
|
|
Der Status zeit nur noch Power und Raumstatus an. Es läuft wie gehabt via nmap-Ping.
|
|
|
|
|
|
|
|
## Dev hinweise
|
|
|
|
Man braucht dieses repo, nodejs ~16 mit npm.
|
|
|
|
|
|
Dependencies installieren und Server lokal laufen lassen:
|
|
|
|
npm install
|
|
node raumstatus.js
|
|
|
|
|
|
Docker container bauen zum testen:
|
|
|
|
docker build . -t ctdo/ctdo-raumstatus
|
|
|
|
Es gibt hier eine .drone.yml Datei die eine Pipeline auf ci.ctdo.de konfiguriert.
|
|
Jeder Push auf den master branch triggert einen Build Prozess. Dann wird ein neues Docker
|
|
Image gebaut und auf hub.docker.com gepushed.
|
|
|
|
|
|
## ToDos
|
|
|
|
- [ ] Automatisch Version aus package.json nehmen beim Docker bauen und taggen
|
|
- [ ] Hosts einstellbar machen via ENV (welcher host zum Pingen ist, flukso adresse+url)
|
|
- [ ] Ping Intervall einstellbar machen via ENV
|
|
|
|
|