Reflex/docker-compose.yml
2025-05-21 22:13:09 +07:00

54 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

services:
# Сервис Фронтенда
frontend:
build:
context: ./ # Путь к Dockerfile фронтенда (предполагается, что Dockerfile лежит в корне dating-app-pwa)
dockerfile: Dockerfile # Имя Dockerfile для фронтенда
ports:
- "8080:80" # Пробрасываем порт 80 контейнера (Nginx) на порт 8080 хоста
restart: unless-stopped
depends_on: # Фронтенд зависит от бэкенда (для API запросов, хотя Nginx сам по себе запустится)
- backend
networks: # Подключаем к общей сети
- app-network
# Сервис Бэкенда
backend:
build:
context: ./backend # Путь к Dockerfile бэкенда
dockerfile: Dockerfile # Имя Dockerfile для бэкенда
ports:
- "5000:5000" # Пробрасываем порт 5000 контейнера (Node.js) на порт 5000 хоста
environment:
# Передаем переменные окружения в контейнер бэкенда
- 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 из монтирования, чтобы использовать те, что в образе
networks:
- app-network
# Сервис Базы Данных MongoDB
mongo_db:
image: mongo:latest # Используем официальный образ MongoDB
ports:
- "27017:27017" # Стандартный порт MongoDB
volumes:
- mongo-data:/data/db # Сохраняем данные MongoDB в именованном вольюме
restart: unless-stopped
networks:
- app-network
# Определяем сети
networks:
app-network:
driver: bridge # Стандартный тип сети для docker-compose
# Определяем именованные вольюмы
volumes:
mongo-data: # Для персистентного хранения данных MongoDB