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>
This commit is contained in:
2026-07-31 06:36:01 +00:00
parent d6e6cb3f76
commit 7c6692c040
15 changed files with 1593 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
FROM node:22-alpine
ADD package.json package-lock.json /tmp/
RUN cd /tmp && npm ci --omit=dev
RUN mkdir -p /opt/app && cp -a /tmp/node_modules /tmp/package.json /opt/app/
WORKDIR /opt/app
ADD *.js /opt/app/
RUN mkdir /opt/app/utilities
ADD utilities/*.js /opt/app/utilities
# readFromcsv.js legt hier die Sensorliste des Tages ab (data/list.json)
RUN mkdir -p /opt/app/data
# betrifft nur noch die Uhrzeit in den Log-Zeilen - die Messwerte selbst
# werden seit dem UTC-Fix unabhaengig von der Zeitzone der Maschine gespeichert
RUN apk add --no-cache tzdata
ENV TZ=Europe/Berlin
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Exec-Form: nur so werden Argumente aus "docker run <image> ..." an das
# Programm durchgereicht. CMD ist der Default, den eigene Argumente ersetzen.
#
# docker run --rm --env-file .env -e INFLUXHOST=influxdb -e MONGOHOST=mongo \
# --network laerm_readfromcsv_to_database_default rfcsv -t noise -s 2026-07-25
#
ENTRYPOINT ["node", "./readFromcsv.js"]
CMD ["-t", "noise"]