Spaces:
Sleeping
Sleeping
fix
Browse files- Dockerfile +16 -12
- devops/nginx.default.conf +7 -1
Dockerfile
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
-
#
|
2 |
FROM node:20-alpine AS builder
|
3 |
WORKDIR /app
|
4 |
-
COPY package.json package-lock.json* ./
|
5 |
RUN npm ci
|
6 |
-
COPY
|
7 |
-
ARG VITE_API_BASE_URL
|
8 |
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
|
9 |
RUN npm run build
|
10 |
|
11 |
-
#
|
12 |
-
FROM nginx:
|
13 |
WORKDIR /usr/share/nginx/html
|
14 |
|
15 |
# Копируем собранные файлы фронтенда
|
@@ -18,12 +18,16 @@ COPY --from=builder /app/dist .
|
|
18 |
# Копируем конфигурацию Nginx
|
19 |
COPY devops/nginx.default.conf /etc/nginx/conf.d/default.conf
|
20 |
|
21 |
-
#
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
24 |
|
25 |
-
#
|
26 |
EXPOSE 7860
|
27 |
|
28 |
-
#
|
29 |
-
|
|
|
1 |
+
# Этап 1: Сборка фронтенда
|
2 |
FROM node:20-alpine AS builder
|
3 |
WORKDIR /app
|
4 |
+
COPY frontend/package.json frontend/package-lock.json* ./
|
5 |
RUN npm ci
|
6 |
+
COPY frontend/ ./
|
7 |
+
ARG VITE_API_BASE_URL=/api
|
8 |
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
|
9 |
RUN npm run build
|
10 |
|
11 |
+
# Этап 2: Финальный образ с Nginx
|
12 |
+
FROM nginx:latest
|
13 |
WORKDIR /usr/share/nginx/html
|
14 |
|
15 |
# Копируем собранные файлы фронтенда
|
|
|
18 |
# Копируем конфигурацию Nginx
|
19 |
COPY devops/nginx.default.conf /etc/nginx/conf.d/default.conf
|
20 |
|
21 |
+
# Создаём временные директории и задаём права
|
22 |
+
RUN mkdir -p /tmp/nginx/client_temp \
|
23 |
+
/tmp/nginx/proxy_temp \
|
24 |
+
/tmp/nginx/fastcgi_temp \
|
25 |
+
/tmp/nginx/uwsgi_temp \
|
26 |
+
/tmp/nginx/scgi_temp \
|
27 |
+
&& chmod -R 755 /tmp/nginx
|
28 |
|
29 |
+
# Открываем порт 7860
|
30 |
EXPOSE 7860
|
31 |
|
32 |
+
# Запускаем Nginx
|
33 |
+
CMD ["nginx", "-g", "daemon off;"]
|
devops/nginx.default.conf
CHANGED
@@ -2,7 +2,6 @@ server {
|
|
2 |
listen 7860;
|
3 |
server_name localhost;
|
4 |
|
5 |
-
# Указываем временные директории в /tmp
|
6 |
client_body_temp_path /tmp/nginx/client_temp 1 2;
|
7 |
proxy_temp_path /tmp/nginx/proxy_temp 1 2;
|
8 |
fastcgi_temp_path /tmp/nginx/fastcgi_temp 1 2;
|
@@ -14,4 +13,11 @@ server {
|
|
14 |
index index.html;
|
15 |
try_files $uri $uri/ /index.html;
|
16 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
|
|
2 |
listen 7860;
|
3 |
server_name localhost;
|
4 |
|
|
|
5 |
client_body_temp_path /tmp/nginx/client_temp 1 2;
|
6 |
proxy_temp_path /tmp/nginx/proxy_temp 1 2;
|
7 |
fastcgi_temp_path /tmp/nginx/fastcgi_temp 1 2;
|
|
|
13 |
index index.html;
|
14 |
try_files $uri $uri/ /index.html;
|
15 |
}
|
16 |
+
|
17 |
+
location /api {
|
18 |
+
proxy_pass https://muryshev-generic-chatbot-backend.hf.space;
|
19 |
+
proxy_set_header Host $host;
|
20 |
+
proxy_set_header X-Real-IP $remote_addr;
|
21 |
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
22 |
+
}
|
23 |
}
|