# Backend — Node.js 20 (Alpine). Порт 4000 наружу не публикуется (только через nginx).
FROM node:20-alpine

WORKDIR /app

# Сначала манифесты — кэш слоёв.
COPY package.json ./
RUN npm install --omit=dev

COPY src ./src

ENV NODE_ENV=production
EXPOSE 4000

# Запуск от непривилегированного пользователя.
USER node

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