# Stage 1 — install production dependencies
FROM node:22-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev

# Stage 2 — final image
FROM node:22-alpine
WORKDIR /app

# Copy dependencies from previous stage
COPY --from=deps /app/node_modules ./node_modules

# Copy application files
COPY server.js ./
COPY public/ ./public/

# Runtime config
ENV PORT=3850
ENV SESSIONS_DIR=/sessions

EXPOSE 3850

# Run as non-root for security
USER node

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