FROM node:24-alpine

WORKDIR /app
COPY package.json npm-shrinkwrap.json ./
RUN npm ci --omit=dev

COPY src ./src
COPY data/geo ./data/geo
RUN mkdir -p /app/data && chown -R node:node /app

USER node
ENV PORT=3000 \
    HOST=0.0.0.0 \
    SESSION_STORE_PATH=/app/data/sessions.json
EXPOSE 3000

CMD ["node", "src/server.js"]
