13 Commits

Author SHA1 Message Date
admin 0d9795279e README: Update-Ablauf, readarchive und common/ dokumentiert
Der README beschrieb bisher nur die Erstinstallation. Neu:

- Abschnitt "Update eines laufenden Stacks" mit der Reihenfolge
  Rollback sichern, Compose angleichen, nur den geaenderten Container
  ziehen, verifizieren. Inklusive der beiden Fallen: der Volume-Pfad
  von readin hat sich auf /opt/app/readin/data geaendert, und ein Mount
  auf /etc/influxdb2 fuehrt zu Datenverlust.
- readarchive in der Container-Liste, mit Parametern und Aufruf ueber
  das Profil tools.
- common/ unter den Sourcen, mit dem Hinweis, dass eine Aenderung dort
  beide Container betrifft.
- deploy.sh: Tag mitgeben, sonst gibt es keinen Weg zurueck.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 06:18:11 +00:00
admin be0176df58 logrotate: LOGROTATE_SIZE von 1k auf 100k
Bei 1k wurde praktisch bei jedem Lauf rotiert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 14:42:16 +00:00
admin 2342c9d924 influxdb: /etc/influxdb2 nicht mounten
Der Mount aus d6e6cb3 war nie deployt - in /opt/stacks lief das Compose
ohne ihn. Auf einer zweiten Installation hat genau dieser Mount Datenverlust
verursacht: das Entrypoint legt dort beim Setup das CLI-Profil "default" an,
ein schon vorhandenes Profil laesst den Setup scheitern, und danach loescht
das Entrypoint bolt+engine im Datenverzeichnis und startet neu. Weil der
Mount das Aufraeumen ueberlebt, wiederholt sich das endlos.

Damit entspricht das Repo wieder dem, was tatsaechlich laeuft.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 14:26:59 +00:00
admin bd5cf9978d readin/readarchive: gemeinsame Module, Stack-Konventionen
mongo.js, influx_post.js und logit.js lagen in beiden Komponenten doppelt
und waren auseinandergelaufen - so ist der Zeitzonen-Fehler entstanden, den
readin seit jeher richtig loest und readFromcsv.js zwei Jahre lang nicht.
Sie liegen jetzt einmal unter common/.

Wo die Fassungen sich widersprachen:
- MONGOAUTH wird als String verglichen. Die readarchive-Fassung pruefte nur
  auf truthy, dadurch schaltete auch MONGOAUTH=false die Auth ein.
- writeDataArray(client, coll, data) nimmt den Collection-Namen direkt;
  readarchive baut ihn mit dem neuen dataCollName(styp).
- getallProperties liefert das Array selbst. Die readarchive-Fassung mit
  {error, properties} war dort ungenutzt.
- properties_collection heisst einheitlich property_coll.

Das Sammelobjekt statistics lag in readin/readdata.js und wurde von
mongo.js und influx_post.js importiert. Es liegt jetzt in
common/statistics.js, damit die gemeinsamen Module readin nicht kennen
muessen.

Der Build-Kontext beider Images ist dadurch das Repository-Wurzelverzeichnis;
das Layout im Image spiegelt das Repository, damit ../common/... unveraendert
aufgeht. Die Volume-Zeile von readin im Compose zieht deshalb auf
/opt/app/readin/data um.

readarchive folgt jetzt den Konventionen des Stacks: deploy.sh statt
build_and_copy.sh, Dockerfile_readarchive statt Dockerfile_rfcsv, und die
eigene docker-compose.yml entfaellt - der Dienst haengt als Profil "tools"
im Compose des Stacks und wird mit Parametern gestartet:

  docker compose run --rm readarchive -t noise -s 2026-07-25 -e 2026-07-29

Getestet: beide Images gebaut, beide gegen Testdatenbanken laufen lassen.
Nicht deployt - die Images in der Registry sind unveraendert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 07:25:54 +00:00
admin 7c6692c040 readarchive: Import aus dem CSV-Archiv dazu
Gegenstueck zu readin/: waehrend readin alle 5 Minuten die Live-API
abfragt, liest readarchive rueckwirkend die Tagesdateien von
archive.sensor.community in dieselben Datenbanken ein.

Ohne History uebernommen (das Projekt lag bisher in einem eigenen
Repository unter Sensors/Laerm/laerm_readfromcsv_to_database).

Stand entspricht dort e33a7b7:
- Zeitstempel werden in UTC gespeichert, unabhaengig von der Zeitzone
  der Maschine. readin/parse.js macht das seit jeher richtig,
  readFromcsv.js lag zwei Stunden daneben.
- Fehlgeschlagene Influx-Writes werden gemeldet und setzen den
  Exit-Code, statt still verloren zu gehen.
- Der Container nimmt Parameter entgegen (ENTRYPOINT in Exec-Form).

Hinweis: mongo.js, influx_post.js und logit.js gibt es auch unter
readin/, mit abweichendem Stand. Zusammenfuehren waere der naechste
Schritt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 06:36:01 +00:00
admin d6e6cb3f76 docker-compose: influxdb angepasst 2026-07-26 10:54:25 +00:00
admin a4aa5bd232 Readme und noise.tgz dazu 2026-07-25 14:16:32 +00:00
rxf 10d180bd7e Remove noise/.env.example (Config liegt im Stack unter /opt/stacks) 2026-07-25 11:59:32 +00:00
rxf b0963d3b5d Remove verwaistes readin/Dockerfile_timeseries (timeseries-Service entfallen) 2026-07-25 11:57:26 +00:00
rxf 4e01163d88 Remove obsolete build_and_copy.sh und stale source docker-compose.yml (durch deploy.sh + Stack-Compose ersetzt) 2026-07-25 11:57:00 +00:00
rxf 0e11344059 Rename to laermsensor-stack 2026-07-25 11:45:47 +00:00
rxf 26d183af6d gitignore: .env global ausschließen 2026-07-25 11:36:25 +00:00
rxf 2df1f79617 Initial monorepo: readin, sensorapi, noise (Node22, npm ci, axios1.x, i18next-fs-backend) 2026-07-25 11:35:41 +00:00