FROM node:20-alpine

ENV NODE_ENV=production
WORKDIR /app

COPY package.json package-lock.json* ./
RUN apk add --no-cache ffmpeg && npm install --omit=dev --no-audit --no-fund

COPY src ./src
COPY public ./public
COPY config ./config

EXPOSE 8091

HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
  CMD wget -qO- http://127.0.0.1:${PORT:-8091}/health > /dev/null || exit 1

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