Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
api [2021/12/23 15:41] fpletzapi [2022/07/08 15:10] (current) prk0ghy
Line 1: Line 1:
 ====== MuCCC API ====== ====== MuCCC API ======
  
-Code: https://gitlab.muc.ccc.de/fpletz/muccc-api+Code: https://gitlab.muc.ccc.de/muCCC/api
  
 Live: https://api.muc.ccc.de Live: https://api.muc.ccc.de
Line 7: Line 7:
 ===== Motivation ===== ===== Motivation =====
  
-Auf uberbus.club.muc.ccc.de befinden sich mehrere Scripts die ueber verschiedenste APIs kommunizieren die weder dokumentiert noch standardisiert. Der Monolith als Hauptkomponente ist schwer wartbar und in die Jahre gekommener Code. Es wurde immer mehr drangepflanscht und neue Ports aufgemacht ohne darueber nachzudenken. Unter anderem befinden sich im Monolith ein IRC-Bot der den Schleusenstate und das naechste Event in das IRC Channel Topic schreibt und eine Milight Ansteuerung die scheinbar nicht mehr funktioniert. Ferner befinden sich auf dem Host die Ansteuerung des Flipdotpanels fuer den Schleusenstate und ein Script das einen Anruf bei Schleusenstatewechsel triggert (derzeit ebenfalls kaputt). Diese Komponenten werden per /etc/rc.local in einem Screen gestartet. SpaceAPI und Kalenderscraper sind eigene Scripts die per Crontab JSON Files in /srv/www generieren die von einem Nginx ohne HTTPS geserved werden.+Auf ''uberbus.club.muc.ccc.de'' befinden sich mehrere Scripts die ueber verschiedenste APIs kommunizieren die weder dokumentiert noch standardisiert. Der Monolith als Hauptkomponente ist schwer wartbar und in die Jahre gekommener Code. Es wurde immer mehr drangepflanscht und neue Ports aufgemacht ohne darueber nachzudenken. Unter anderem befinden sich im Monolith ein IRC-Bot der den Schleusenstate und das naechste Event in das IRC Channel Topic schreibt und eine Milight Ansteuerung die scheinbar nicht mehr funktioniert. Ferner befinden sich auf dem Host die Ansteuerung des Flipdotpanels fuer den Schleusenstate und ein Script das einen Anruf bei Schleusenstatewechsel triggert (derzeit ebenfalls kaputt). Diese Komponenten werden per ''/etc/rc.local'' in einem Screen gestartet. SpaceAPI und Kalenderscraper sind eigene Scripts die per Crontab JSON Files in ''/srv/www'' generieren die von einem Nginx ohne HTTPS geserved werden.
  
 ===== Features/Ideen ===== ===== Features/Ideen =====
Line 24: Line 24:
   * https://api.muc.ccc.de/spaceapi.json   * https://api.muc.ccc.de/spaceapi.json
   * https://api.muc.ccc.de/schleuse.json mit Long Polling Support   * https://api.muc.ccc.de/schleuse.json mit Long Polling Support
-  * wss://api.muc.ccc.de/schleuse/ws+  * [[wss://api.muc.ccc.de/schleuse/ws]]
  
-===== Temporaeres Deployment =====+===== Zu implementierende APIs/Datenquellen =====
  
-* Host: uberbus.club.muc.ccc.de (Debian Buster) +* Luftschleuse via UDP ✔ 
-* Repo-Checkout: /root/muccc-api +* Wiki Kalenderscraper mit ICS ✔ 
-* Docker-Image: docker build -t muccc-api:latest . +* Welche Sensoren gibt es im Club noch? 
-* Docker Container wird per systemd service gestartet: /etc/systemd/system/muccc-api.service +* Home-Manager? OpenHab? 
-* Caddy per APT als Reverse Proxy unter: https://api.muc.ccc.de (nginx disabled)+* Großer roter Button (ToDO) 
 +* Temperatur/Feuchtigkeitssensoren (ToDO) 
 +* Kalender (ToDO) 
 + 
 +===== Zu implementierende Services ===== 
 + 
 +* SpaceAPI ✔ 
 +* Schleuse IRC/Matrix Bot ✔ 
 +* Schleusenstatus Flipdotpanel ✔ 
 +* Schleusenstatuswechselcall 
 + 
 +===== Deployment ===== 
 + 
 +* Host: ''nixbus.club.muc.ccc.de'' https://gitlab.muc.ccc.de/muCCC/nixos-deployment/-/blob/master/nixbus.nix 
 +Auf ''uberbus.club.muc.ccc.de'' laeuft ein Caddy als Reverse Proxy unter: https://api.muc.ccc.de (nginx disabled)
  • api.1640274072.txt.gz
  • Last modified: 2021/12/23 15:41
  • by fpletz