Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Репозиторий для локального запуска проекта через Docker Compose.

В составе репозитория находятся compose-файлы для запуска инфраструктуры и сервисов приложения, а также Makefile с готовыми сценариями для удобной работы со стендом.

Состав

  • docker-compose-infra.yml — инфраструктурные сервисы:

    • PostgreSQL;
    • Kafka;
    • Zookeeper;
    • Kafka UI.
  • docker-compose.yml — сервисы приложения:

    • frontend;
    • gateway;
    • auth;
    • accounts;
    • projects;
    • files;
    • benchmarks.
  • Makefile — удобные команды для запуска, остановки, просмотра логов и управления локальным стендом.

Требования

Для запуска необходимы:

  • Docker;
  • Docker Compose v2.

Дополнительно, для использования команд из Makefile:

  • make;
  • bash-совместимое окружение.

На Windows рекомендуется использовать WSL или Git Bash. Если make недоступен, проект можно запускать напрямую через docker compose.

Быстрый запуск через Makefile

make infra-up
make app-up

Сначала запускается инфраструктура, затем сервисы приложения.

Базы данных и необходимые таблицы создаются сервисами автоматически при запуске за счет автомиграций.

Запуск без Makefile

Если make недоступен, те же действия можно выполнить напрямую через Docker Compose.

1. Запуск инфраструктуры

docker compose -f docker-compose-infra.yml up -d

2. Запуск сервисов приложения

docker compose -f docker-compose.yml up -d

Также можно запустить инфраструктуру и приложение одной командой:

docker compose -f docker-compose-infra.yml -f docker-compose.yml up -d

Основные команды Makefile

Посмотреть список доступных команд:

make help

Инфраструктура

make infra-up

Поднять PostgreSQL, Kafka, Zookeeper и Kafka UI.

make infra-down

Остановить инфраструктурные сервисы без удаления данных.

make infra-logs

Посмотреть логи инфраструктурных сервисов.

make infra-ps

Показать статус контейнеров инфраструктуры.

Приложение

make app-up

Поднять сервисы приложения.

make app-down

Остановить сервисы приложения.

make app-logs

Посмотреть логи сервисов приложения.

make app-ps

Показать статус контейнеров приложения.

Полный стенд

make all-up

Поднять инфраструктуру и сервисы приложения вместе.

make all-down

Остановить инфраструктуру и сервисы приложения.

make all-logs

Посмотреть логи всех сервисов.

make all-ps

Показать статус всех контейнеров.

Сброс окружения

Пересоздать контейнеры приложения без удаления данных:

make app-reset

Пересоздать инфраструктурные контейнеры без удаления данных:

make infra-reset

Полностью сбросить стенд с удалением volumes, включая данные PostgreSQL:

make all-reset

После полного сброса достаточно снова запустить инфраструктуру и сервисы приложения:

make infra-up
make app-up

Дополнительные команды для PostgreSQL

В Makefile также есть вспомогательные команды для ручной работы с PostgreSQL:

make db-shell
make db-wait
make db-create-all

В обычном сценарии запуска они не требуются, так как базы данных и схема создаются сервисами автоматически.

About

Локальное развертывание проекта через Docker Compose.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages