FROM node:20-alpine
ENV TZ=Europe/Moscow
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm install --omit=dev
COPY . .
RUN mkdir -p uploads certs
RUN apk add --no-cache openssl && \
    openssl req -x509 -nodes -newkey rsa:2048 -days 3650 \
    -keyout certs/key.pem -out certs/cert.pem \
    -subj "/CN=whatido.local" -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
EXPOSE 3003 3443
CMD ["node", "server.js"]