Spaces:
Running
Running
# Этап 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;"] |