muryshev commited on
Commit
e2036e6
·
1 Parent(s): aa69a1c
Files changed (2) hide show
  1. Dockerfile +19 -10
  2. devops/nginx.default.conf +16 -11
Dockerfile CHANGED
@@ -10,27 +10,36 @@ RUN npm run build
10
 
11
  # Этап 2: Финальный образ с Nginx
12
  FROM nginx:alpine
13
- USER root
14
 
15
- # Create a non-root user
16
  RUN adduser -D -u 1000 -s /bin/sh pn
17
 
 
18
  RUN mkdir -p /var/cache/nginx \
19
  /var/log/nginx \
20
- /var/lib/nginx
21
- RUN touch /var/run/nginx.pid
 
 
 
 
 
22
 
 
23
 
 
24
  RUN chown -R pn:pn /var/cache/nginx \
25
- /var/log/nginx \
26
- /var/lib/nginx \
27
- /var/run/nginx.pid
 
28
 
29
- USER pn
30
  ENV HOME=/home/pn \
31
  PATH=/home/pn/.local/bin:$PATH
32
 
33
- RUN mkdir $HOME/app
34
 
35
  WORKDIR $HOME/app
36
 
@@ -44,4 +53,4 @@ COPY --chown=pn devops/nginx.default.conf /etc/nginx/conf.d/default.conf
44
  EXPOSE 7860
45
 
46
  # Запускаем Nginx
47
- CMD ["nginx", "-g", "daemon off;"]
 
10
 
11
  # Этап 2: Финальный образ с Nginx
12
  FROM nginx:alpine
13
+ USER root # Запускаем от root, чтобы корректно настроить права
14
 
15
+ # Создаём непривилегированного пользователя
16
  RUN adduser -D -u 1000 -s /bin/sh pn
17
 
18
+ # Создаём нужные директории и устанавливаем права
19
  RUN mkdir -p /var/cache/nginx \
20
  /var/log/nginx \
21
+ /var/lib/nginx \
22
+ /var/run \
23
+ /tmp/nginx/client_temp \
24
+ /tmp/nginx/proxy_temp \
25
+ /tmp/nginx/fastcgi_temp \
26
+ /tmp/nginx/uwsgi_temp \
27
+ /tmp/nginx/scgi_temp
28
 
29
+ RUN touch /var/run/nginx.pid
30
 
31
+ # Даём права на директории, чтобы Nginx мог их использовать
32
  RUN chown -R pn:pn /var/cache/nginx \
33
+ /var/log/nginx \
34
+ /var/lib/nginx \
35
+ /var/run/nginx.pid \
36
+ /tmp/nginx
37
 
38
+ USER pn # Запускаем Nginx от пользователя pn
39
  ENV HOME=/home/pn \
40
  PATH=/home/pn/.local/bin:$PATH
41
 
42
+ RUN mkdir -p $HOME/app
43
 
44
  WORKDIR $HOME/app
45
 
 
53
  EXPOSE 7860
54
 
55
  # Запускаем Nginx
56
+ CMD ["nginx", "-g", "daemon off;"]
devops/nginx.default.conf CHANGED
@@ -1,23 +1,28 @@
1
  server {
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;
8
- uwsgi_temp_path /tmp/nginx/uwsgi_temp 1 2;
9
- scgi_temp_path /tmp/nginx/scgi_temp 1 2;
10
 
11
  location / {
12
- root /usr/share/nginx/html;
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
- }
 
 
 
 
 
 
 
 
1
  server {
2
  listen 7860;
 
3
 
4
+ # Указываем корневую директорию для фронтенда
5
+ root /home/pn/app;
6
+ index index.html;
7
+ server_name _;
 
8
 
9
  location / {
10
+ try_files $uri /index.html;
 
 
11
  }
12
 
13
+ # Проксируем API-запросы на бекенд
14
+ location /api/ {
15
  proxy_pass https://muryshev-generic-chatbot-backend.hf.space;
16
  proxy_set_header Host $host;
17
  proxy_set_header X-Real-IP $remote_addr;
18
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
19
+ proxy_set_header X-Forwarded-Proto $scheme;
20
  }
21
+
22
+ # Указываем пути к временным директориям Nginx
23
+ client_body_temp_path /tmp/nginx/client_temp;
24
+ proxy_temp_path /tmp/nginx/proxy_temp;
25
+ fastcgi_temp_path /tmp/nginx/fastcgi_temp;
26
+ uwsgi_temp_path /tmp/nginx/uwsgi_temp;
27
+ scgi_temp_path /tmp/nginx/scgi_temp;
28
+ }