FROM node:24-alpine

ENV NODE_ENV=production \
    PORT=3000 \
    HOST=0.0.0.0 \
    DATABASE_FILE=/data/invites.db

WORKDIR /app
RUN mkdir -p /data && chown 65532:65532 /data
COPY --chown=65532:65532 package.json server.js database.js ./
COPY --chown=65532:65532 public ./public
COPY --chown=65532:65532 scripts ./scripts

# Root is convenient with rootless Podman (it maps to the invoking host user).
# Kubernetes overrides this to the unprivileged UID/GID 65532.
USER 0:0
EXPOSE 3000

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