raumstatus/README.md

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