Reflex/docker-compose.yml

59 lines
3.5 KiB
YAML
Raw Normal View History

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