From d19fa74ccb25fb750ef6bf164629315f87519fe0 Mon Sep 17 00:00:00 2001 From: Professional Date: Wed, 21 May 2025 22:26:53 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=BF=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index fba435a..7bb74ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,50 +4,55 @@ services: build: context: ./ # Путь к Dockerfile фронтенда (предполагается, что Dockerfile лежит в корне dating-app-pwa) dockerfile: Dockerfile # Имя Dockerfile для фронтенда - ports: - - "8080:80" # Пробрасываем порт 80 контейнера (Nginx) на порт 8080 хоста + # ports: # <--- ЗАКОММЕНТИРОВАНО + # - "8080:80" # Пробрасываем порт 80 контейнера (Nginx) на порт 8080 хоста restart: unless-stopped depends_on: # Фронтенд зависит от бэкенда (для API запросов, хотя Nginx сам по себе запустится) - backend networks: # Подключаем к общей сети - app-network + - npm_proxy_network # <--- ДОБАВЛЕНА СЕТЬ ДЛЯ NPM # Сервис Бэкенда backend: build: context: ./backend # Путь к Dockerfile бэкенда dockerfile: Dockerfile # Имя Dockerfile для бэкенда - ports: - - "5000:5000" # Пробрасываем порт 5000 контейнера (Node.js) на порт 5000 хоста + # ports: # <--- ЗАКОММЕНТИРОВАНО + # - "5000:5000" # Пробрасываем порт 5000 контейнера (Node.js) на порт 5000 хоста environment: # Передаем переменные окружения в контейнер бэкенда + - NODE_ENV=production # Убедись, что это установлено - PORT=5000 # Порт внутри контейнера бэкенда - MONGO_URI=mongodb://mongo_db:27017/dating_app_db # <--- ВАЖНО: используем имя сервиса mongo_db - JWT_SECRET=${JWT_SECRET} # Передаем JWT_SECRET из .env файла хоста (см. ниже) depends_on: - mongo_db # Бэкенд зависит от базы данных restart: unless-stopped - volumes: # Можно использовать для разработки, чтобы код обновлялся без пересборки образа - - ./backend:/usr/src/app # Монтируем локальную папку backend в контейнер - - /usr/src/app/node_modules # Исключаем node_modules из монтирования, чтобы использовать те, что в образе + # volumes: # Для продакшена volumes с кодом обычно не используют, код должен быть в образе + # - ./backend:/usr/src/app # <--- ЗАКОММЕНТИРОВАНО для продакшена + # - /usr/src/app/node_modules # <--- ЗАКОММЕНТИРОВАНО для продакшена networks: - app-network + - npm_proxy_network # <--- ДОБАВЛЕНА СЕТЬ ДЛЯ NPM # Сервис Базы Данных MongoDB mongo_db: image: mongo:latest # Используем официальный образ MongoDB - ports: - - "27017:27017" # Стандартный порт MongoDB + # ports: # <--- Порт для mongo_db можно оставить, если нужен прямой доступ к базе с хост-машины сервера для отладки + # - "27017:27017" # Но для безопасности лучше его закрыть, если он не нужен извне Docker-сети volumes: - mongo-data:/data/db # Сохраняем данные MongoDB в именованном вольюме restart: unless-stopped networks: - - app-network + - app-network # MongoDB не обязательно должна быть в сети npm_proxy_network # Определяем сети networks: app-network: driver: bridge # Стандартный тип сети для docker-compose + npm_proxy_network: # <--- ДОБАВЛЕНО ОПРЕДЕЛЕНИЕ СЕТИ NPM + external: true # Указывает, что эта сеть создана NPM и уже существует # Определяем именованные вольюмы volumes: