Dockerfile 799 B

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