Dockerfile 682 B

123456789101112131415161718192021222324252627
  1. FROM node:20-alpine AS builder
  2. ARG NEXT_PUBLIC_API_URL
  3. ARG NEXT_PUBLIC_MAP_PROVIDER
  4. ARG NEXT_PUBLIC_YANDEX_MAPS_API_KEY
  5. ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
  6. ENV NEXT_PUBLIC_MAP_PROVIDER=$NEXT_PUBLIC_MAP_PROVIDER
  7. ENV NEXT_PUBLIC_YANDEX_MAPS_API_KEY=$NEXT_PUBLIC_YANDEX_MAPS_API_KEY
  8. WORKDIR /app
  9. COPY package.json package-lock.json* ./
  10. RUN npm install
  11. COPY . .
  12. RUN npm run build
  13. FROM node:20-alpine AS runner
  14. WORKDIR /app
  15. ENV NODE_ENV=production
  16. COPY --from=builder /app/public ./public
  17. COPY --from=builder /app/.next/standalone ./
  18. COPY --from=builder /app/.next/static ./.next/static
  19. ENV HOSTNAME=0.0.0.0
  20. RUN apk add --no-cache curl
  21. EXPOSE 3000
  22. CMD ["node", "server.js"]