From b5bb8c3d73fc29ac6fa68ae92ad19403d78b6795 Mon Sep 17 00:00:00 2001 From: MoonTestUse1 Date: Tue, 24 Dec 2024 00:12:56 +0600 Subject: [PATCH] change docker --- docker-compose.yml | 24 +++++++++++++++++------- docker/frontend/Dockerfile | 23 ++++++++++++++++------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e08713f..c2d55d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,34 +3,44 @@ version: '3.8' services: frontend: build: - context: . - dockerfile: docker/frontend/Dockerfile + context: ./frontend + dockerfile: ../docker/frontend/Dockerfile container_name: support-frontend + restart: unless-stopped volumes: - - frontend_build:/app/dist + - ./frontend:/app + - /app/node_modules + ports: + - "3000:80" backend: build: - context: . - dockerfile: docker/backend/Dockerfile + context: ./backend + dockerfile: ../docker/backend/Dockerfile container_name: support-backend + restart: unless-stopped environment: - TELEGRAM_BOT_TOKEN=7677506032:AAHEqNUr1lIUfNVbLwaWIaPeKKShsCyz3eo - TELEGRAM_CHAT_ID=-1002037023574 + volumes: + - ./backend:/app + - sqlite_data:/app/instance ports: - "8000:8000" nginx: image: nginx:alpine container_name: support-nginx + restart: unless-stopped ports: - "80:80" volumes: - - frontend_build:/usr/share/nginx/html:ro + - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./docker/nginx/conf.d:/etc/nginx/conf.d:ro + - ./frontend/dist:/usr/share/nginx/html:ro depends_on: - frontend - backend volumes: - frontend_build: + sqlite_data: diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile index efb0358..6eedda3 100644 --- a/docker/frontend/Dockerfile +++ b/docker/frontend/Dockerfile @@ -1,19 +1,28 @@ +# Этап сборки FROM node:18-alpine as builder WORKDIR /app -# Копируем файлы package.json -COPY frontend/package*.json ./ +# Копируем файлы package.json и package-lock.json +COPY package*.json ./ # Устанавливаем зависимости RUN npm ci -# Копируем исходники -COPY frontend/ ./ +# Копируем исходный код +COPY . . # Собираем приложение RUN npm run build -# Финальный этап -FROM scratch -COPY --from=builder /app/dist /dist +# Этап production +FROM nginx:alpine + +# Копируем собранные файлы из этапа сборки +COPY --from=builder /app/dist /usr/share/nginx/html + +# Копируем конфигурацию nginx +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Указываем команду для запуска nginx +CMD ["nginx", "-g", "daemon off;"]