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"]
