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

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: build:
context: ./ # Путь к Dockerfile фронтенда (предполагается, что Dockerfile лежит в корне dating-app-pwa) context: ./ # Путь к Dockerfile фронтенда (предполагается, что Dockerfile лежит в корне dating-app-pwa)
dockerfile: Dockerfile # Имя Dockerfile для фронтенда dockerfile: Dockerfile # Имя Dockerfile для фронтенда
ports: # ports: # <--- ЗАКОММЕНТИРОВАНО
- "8080:80" # Пробрасываем порт 80 контейнера (Nginx) на порт 8080 хоста # - "8080:80" # Пробрасываем порт 80 контейнера (Nginx) на порт 8080 хоста
restart: unless-stopped restart: unless-stopped
depends_on: # Фронтенд зависит от бэкенда (для API запросов, хотя Nginx сам по себе запустится) depends_on: # Фронтенд зависит от бэкенда (для API запросов, хотя Nginx сам по себе запустится)
- backend - backend
networks: # Подключаем к общей сети networks: # Подключаем к общей сети
- app-network - app-network
- npm_proxy_network # <--- ДОБАВЛЕНА СЕТЬ ДЛЯ NPM
# Сервис Бэкенда # Сервис Бэкенда
backend: backend:
build: build:
context: ./backend # Путь к Dockerfile бэкенда context: ./backend # Путь к Dockerfile бэкенда
dockerfile: Dockerfile # Имя Dockerfile для бэкенда dockerfile: Dockerfile # Имя Dockerfile для бэкенда
ports: # ports: # <--- ЗАКОММЕНТИРОВАНО
- "5000:5000" # Пробрасываем порт 5000 контейнера (Node.js) на порт 5000 хоста # - "5000:5000" # Пробрасываем порт 5000 контейнера (Node.js) на порт 5000 хоста
environment: environment:
# Передаем переменные окружения в контейнер бэкенда # Передаем переменные окружения в контейнер бэкенда
- NODE_ENV=production # Убедись, что это установлено
- PORT=5000 # Порт внутри контейнера бэкенда - PORT=5000 # Порт внутри контейнера бэкенда
- MONGO_URI=mongodb://mongo_db:27017/dating_app_db # <--- ВАЖНО: используем имя сервиса mongo_db - MONGO_URI=mongodb://mongo_db:27017/dating_app_db # <--- ВАЖНО: используем имя сервиса mongo_db
- JWT_SECRET=${JWT_SECRET} # Передаем JWT_SECRET из .env файла хоста (см. ниже) - JWT_SECRET=${JWT_SECRET} # Передаем JWT_SECRET из .env файла хоста (см. ниже)
depends_on: depends_on:
- mongo_db # Бэкенд зависит от базы данных - mongo_db # Бэкенд зависит от базы данных
restart: unless-stopped restart: unless-stopped
volumes: # Можно использовать для разработки, чтобы код обновлялся без пересборки образа # volumes: # Для продакшена volumes с кодом обычно не используют, код должен быть в образе
- ./backend:/usr/src/app # Монтируем локальную папку backend в контейнер # - ./backend:/usr/src/app # <--- ЗАКОММЕНТИРОВАНО для продакшена
- /usr/src/app/node_modules # Исключаем node_modules из монтирования, чтобы использовать те, что в образе # - /usr/src/app/node_modules # <--- ЗАКОММЕНТИРОВАНО для продакшена
networks: networks:
- app-network - app-network
- npm_proxy_network # <--- ДОБАВЛЕНА СЕТЬ ДЛЯ NPM
# Сервис Базы Данных MongoDB # Сервис Базы Данных MongoDB
mongo_db: mongo_db:
image: mongo:latest # Используем официальный образ MongoDB image: mongo:latest # Используем официальный образ MongoDB
ports: # ports: # <--- Порт для mongo_db можно оставить, если нужен прямой доступ к базе с хост-машины сервера для отладки
- "27017:27017" # Стандартный порт MongoDB # - "27017:27017" # Но для безопасности лучше его закрыть, если он не нужен извне Docker-сети
volumes: volumes:
- mongo-data:/data/db # Сохраняем данные MongoDB в именованном вольюме - mongo-data:/data/db # Сохраняем данные MongoDB в именованном вольюме
restart: unless-stopped restart: unless-stopped
networks: networks:
- app-network - app-network # MongoDB не обязательно должна быть в сети npm_proxy_network
# Определяем сети # Определяем сети
networks: networks:
app-network: app-network:
driver: bridge # Стандартный тип сети для docker-compose driver: bridge # Стандартный тип сети для docker-compose
npm_proxy_network: # <--- ДОБАВЛЕНО ОПРЕДЕЛЕНИЕ СЕТИ NPM
external: true # Указывает, что эта сеть создана NPM и уже существует
# Определяем именованные вольюмы # Определяем именованные вольюмы
volumes: volumes: