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;"]