Цель: освоить запуск полноценного веб-приложения из разных репозиториев. Приложение должно содержать фронтенд и бэкэнд части из соответствующих репозиториев. Компоуз-файл должен запускать базу данных для приложения, и обратный прокси nginx
- Образы должены быть легковесными
- Использовать базовые образы (ubuntu/alpine/rhel)
- Учесть запуск
backend,frontend,dbиnginx-proxy - Вся конфигурация выполняется через переменные окружения, передающиеся через
env_fileиenvironment - Точкой входа является только
nginx-proxy, остальные сервисы не имеют открытых наружу портов - Должна быть возможность конфигурирования через файлы настроек в виде
volume - Контейнеры должены запускатьсь от непривилегированного пользователя
- После установки всех нужных утилит, должен очищаться кеш
nginx-proxy должен работает на порте который указывается в react-frontend/.env, чтобы frontend мог спокойно перенаправлять запросы.
backend работает на порте который указывается в spring-backend/src/main/resources/application.properties
Так же там указывается подключение к базе данных. Эти переменные уже вынесены в .env.
nginx-proxy предназначен для перенаправления запросов которые поступают на него.
Все запросы которые поступают на frontend должны перенаправляться на /, backend - /api/v1.