diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..335f435 --- /dev/null +++ b/dockerfile @@ -0,0 +1,20 @@ +# Сборка приложения +FROM node:20-alpine AS builder +WORKDIR /app +COPY package*.json ./ +RUN npm ci +COPY . . +RUN npm run build + +# Запуск приложения +FROM node:20-alpine AS runner +WORKDIR /app +ENV NODE_ENV=production +COPY package*.json ./ +RUN npm ci --only=production +COPY --from=builder /app/dist ./dist +# Если используются миграции drizzle, копируем конфигурацию +COPY --from=builder /app/drizzle.config.ts ./ 2>/dev/null || true + +EXPOSE 3000 +CMD ["node", "dist/server/index.js"]