FROM node:22-alpine

# Build-Kontext ist das Repository-Wurzelverzeichnis (siehe deploy.sh), weil
# readin und readarchive sich die Module unter common/ teilen. Das Layout im
# Image spiegelt das Repository, damit die relativen Importe (../common/...)
# unveraendert funktionieren.

ADD readin/package.json /tmp/package.json
ADD readin/package-lock.json /tmp/package-lock.json
RUN cd /tmp && npm ci
RUN mkdir -p /opt/app && cp -a /tmp/node_modules /tmp/package.json /opt/app/

ADD common/*.js /opt/app/common/
ADD readin/*.js /opt/app/readin/
ADD readin/package.json readin/crontab.tmp /opt/app/readin/

WORKDIR /opt/app/readin
RUN mkdir -p data

#RUN apk add busybox-initscripts
#RUN apk add --no-cache tzdata
#ENV TZ Europe/Berlin
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN crontab crontab.tmp
RUN deluser --remove-home node

RUN touch cmds.sh \
	&& echo 'crond -f' >>cmds.sh

CMD sh ./cmds.sh
