Reflex/docker-compose.yml

62 lines
3.6 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
- proxy-net # <--- ИЗМЕНЕНО ИМЯ СЕТИ
# Сервис Бэкенда
backend:
build:
context: ./backend # Путь к Dockerfile бэкенда
dockerfile: Dockerfile # Имя Dockerfile для бэкенда
# 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 файла хоста
- CLOUDINARY_CLOUD_NAME=${CLOUDINARY_CLOUD_NAME} # Добавлено
- CLOUDINARY_API_KEY=${CLOUDINARY_API_KEY} # Добавлено
- CLOUDINARY_API_SECRET=${CLOUDINARY_API_SECRET} # Добавлено
depends_on:
- mongo_db # Бэкенд зависит от базы данных
restart: unless-stopped
# volumes: # Для продакшена volumes с кодом обычно не используют, код должен быть в образе
# - ./backend:/usr/src/app # <--- ЗАКОММЕНТИРОВАНО для продакшена
# - /usr/src/app/node_modules # <--- ЗАКОММЕНТИРОВАНО для продакшена
networks:
- app-network
- proxy-net # <--- ИЗМЕНЕНО ИМЯ СЕТИ
# Сервис Базы Данных MongoDB
mongo_db:
image: mongo:latest # Используем официальный образ MongoDB
ports: # <--- Порт для mongo_db можно оставить, если нужен прямой доступ к базе с хост-машины сервера для отладки
- "27017:27017" # Но для безопасности лучше его закрыть, если он не нужен извне Docker-сети
volumes:
- mongo-data:/data/db # Сохраняем данные MongoDB в именованном вольюме
restart: unless-stopped
networks:
- app-network # MongoDB не обязательно должна быть в сети npm_proxy_network
# Определяем сети
networks:
app-network:
driver: bridge # Стандартный тип сети для docker-compose
proxy-net: # <--- ИЗМЕНЕНО ИМЯ СЕТИ
external: true # Указывает, что эта сеть создана NPM и уже существует
# Определяем именованные вольюмы
volumes:
mongo-data: # Для персистентного хранения данных MongoDB