измение для нпм

This commit is contained in:
Professional 2025-05-21 22:26:53 +07:00
parent 2b94015b33
commit d19fa74ccb

View File

@ -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: