diff --git a/Dockerfile b/Dockerfile index a8477c2..b338f0a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,29 @@ -# Basis-Image mit Node.js -FROM node:20-alpine - -# Arbeitsverzeichnis im Container +# Basis-Image +FROM node:20-alpine AS base WORKDIR /usr/src/app -# package.json und package-lock.json zuerst kopieren +# Dependencies installieren (dev deps für Build erforderlich) COPY package*.json ./ +RUN npm install -# Dependencies installieren (nur Produktion, falls nötig) -RUN npm install --omit=dev - -# Restlichen Quellcode kopieren +# Quellcode kopieren COPY . . -# Port setzen (Fastify läuft standardmäßig auf 3000) -EXPOSE 3000 +# Build ausführen (TypeScript -> dist) +RUN npm run build -# Startkommando +# --------- Production Stage --------- +FROM node:20-alpine AS production +WORKDIR /usr/src/app + +# Nur production dependencies installieren +COPY package*.json ./ +RUN npm install --omit=dev + + + +# Port freigeben +EXPOSE 3100 + +# App starten CMD ["npm", "start"] \ No newline at end of file