FROM node:20-alpine

WORKDIR /app

COPY package.json package-lock.json ./
RUN npm ci --production=false

COPY tsconfig.json ./
COPY src/ ./src/
RUN npx tsc && npm prune --production

EXPOSE 3100

ENV PORT=3100
ENV NODE_ENV=production

# SSE mode by default for Docker deployments
CMD ["node", "dist/sse.js"]
