FROM node:20-slim AS build WORKDIR /app COPY package*.json ./ RUN npm install COPY . . # Zbuilduje server (tsc -> dist) i web (vite -> dist/public) RUN npm run build FROM node:20-slim WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 EXPOSE 3000 COPY package*.json ./ RUN npm install --omit=dev COPY --from=build /app/dist ./dist # Skripty konektoru jsou obycejny JavaScript, nekompiluji se. Musi se ale # dostat do image, jinak by konektory nemely zadnou vykonnou cast. COPY --from=build /app/scripts ./scripts CMD ["npm", "start"]