Spaces:
Sleeping
Sleeping
File size: 992 Bytes
1f60a7d 79278ec 1f60a7d 79278ec 1f60a7d 79278ec 1f60a7d 79278ec 8fbfd3a 79278ec 8fbfd3a 79278ec 1f60a7d 8fbfd3a 1f60a7d 23960c1 8fbfd3a 1f60a7d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# Этап 1: Сборка фронтенда
FROM node:20-alpine AS builder
WORKDIR /app
COPY frontend/package.json frontend/package-lock.json* ./
RUN npm ci
COPY frontend/ ./
ARG VITE_API_BASE_URL=/api
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
RUN npm run build
# Этап 2: Финальный образ с Nginx
FROM nginx:latest
WORKDIR /usr/share/nginx/html
# Копируем собранные файлы фронтенда
COPY --from=builder /app/dist .
# Копируем конфигурацию Nginx
COPY devops/nginx.default.conf /etc/nginx/conf.d/default.conf
# Создаём временные директории и задаём права
RUN mkdir -p /tmp/nginx/client_temp \
/tmp/nginx/proxy_temp \
/tmp/nginx/fastcgi_temp \
/tmp/nginx/uwsgi_temp \
/tmp/nginx/scgi_temp \
&& chmod -R 755 /tmp/nginx
# Открываем порт 7860
EXPOSE 7860
# Запускаем Nginx
CMD ["nginx", "-g", "daemon off;"] |