Войдите, чтобы смотреть видео
Видеоуроки, интерактивный редактор и сохранение прогресса — бесплатно, сразу после входа.
ВойтиСоздать аккаунт — бесплатноЗакончили урок?
Войдите, чтобы отмечать прогресс
Видеоуроки, интерактивный редактор и сохранение прогресса — бесплатно, сразу после входа.
ВойтиСоздать аккаунт — бесплатноЗакончили урок?
Войдите, чтобы отмечать прогресс
Многоэтапная сборка frontend: сначала приложение собирается в dist через Node.js, затем готовая статика раздается через Nginx. VITE_API_URL передается как build-arg, что типично для Vite-приложений. dev
client/Dockerfile
.gitignore исключает логи, node_modules, артефакты сборки и служебные файлы редакторов, чтобы они не попадали в репозиторий.
client/.gitignore
Многоэтапная сборка backend: на первом этапе компилируется приложение, на втором ставятся только production-зависимости и копируется dist. Такой подход уменьшает размер итогового образа. docker
server/Dockerfile
docker-compose.yml поднимает три сервиса: PostgreSQL, API и web. Для базы задан healthcheck, а API стартует только после того, как база станет healthy через depends_on.condition: service_healthy. github
docker-compose.yml
Файл .env задает параметры базы, JWT-секрет и внешний порт для Nginx. Для production секрет и пароль лучше заменить на безопасные значения.
.env