FROM node:20-alpine

WORKDIR /app

RUN apk add --no-cache tini

COPY package.json ./
RUN npm install --omit=dev

COPY . .

RUN chmod +x /app/scripts/*.sh \
  && mkdir -p /data

ENV NODE_ENV=production \
  PORT=40100 \
  CONFIG_PATH=/app/config/default.json \
  DATABASE_PATH=/data/last-signal.sqlite \
  TRIGGER_SCRIPT=/scripts/cleanup.sh \
  TARGET_PATH=/home/zenn/Collection

EXPOSE 40100

ENTRYPOINT ["/sbin/tini", "--"]
CMD ["node", "src/server.js"]
