FROM node:20-alpine # Ensure Prisma engines can find the OpenSSL 3 libraries newer Alpine ships with RUN apk add --no-cache openssl WORKDIR /app COPY package.json ./ COPY prisma ./prisma RUN npm install RUN npx prisma generate COPY src ./src RUN mkdir -p uploads ENV NODE_ENV=production ENV PORT=4000 EXPOSE 4000 CMD ["sh", "-c", "npx prisma db push && node src/server.js"]