FROM node:20-alpine WORKDIR /app # Nur package.json zuerst – npm install cached bleiben wenn sich nur Code ändert COPY package.json package-lock.json ./ RUN npm ci --omit=dev # Danach erst den Rest kopieren (node_modules wird NICHT kopiert dank .dockerignore) COPY server.js ./ COPY public ./public EXPOSE 3000 CMD ["node", "server.js"]