https://github.com/planara/deploy-local
Локальное развертывание проекта через Docker Compose.
https://github.com/planara/deploy-local
docker-compose makefile
Last synced: 18 days ago
JSON representation
Локальное развертывание проекта через Docker Compose.
- Host: GitHub
- URL: https://github.com/planara/deploy-local
- Owner: planara
- License: mit
- Created: 2026-05-30T17:13:18.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-14T14:03:40.000Z (19 days ago)
- Last Synced: 2026-06-14T16:36:00.556Z (19 days ago)
- Topics: docker-compose, makefile
- Language: Makefile
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Репозиторий для локального запуска проекта через 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
```bash
make infra-up
make app-up
```
Сначала запускается инфраструктура, затем сервисы приложения.
Базы данных и необходимые таблицы создаются сервисами автоматически при запуске за счет автомиграций.
## Запуск без Makefile
Если `make` недоступен, те же действия можно выполнить напрямую через Docker Compose.
### 1. Запуск инфраструктуры
```bash
docker compose -f docker-compose-infra.yml up -d
```
### 2. Запуск сервисов приложения
```bash
docker compose -f docker-compose.yml up -d
```
Также можно запустить инфраструктуру и приложение одной командой:
```bash
docker compose -f docker-compose-infra.yml -f docker-compose.yml up -d
```
## Основные команды Makefile
Посмотреть список доступных команд:
```bash
make help
```
### Инфраструктура
```bash
make infra-up
```
Поднять PostgreSQL, Kafka, Zookeeper и Kafka UI.
```bash
make infra-down
```
Остановить инфраструктурные сервисы без удаления данных.
```bash
make infra-logs
```
Посмотреть логи инфраструктурных сервисов.
```bash
make infra-ps
```
Показать статус контейнеров инфраструктуры.
### Приложение
```bash
make app-up
```
Поднять сервисы приложения.
```bash
make app-down
```
Остановить сервисы приложения.
```bash
make app-logs
```
Посмотреть логи сервисов приложения.
```bash
make app-ps
```
Показать статус контейнеров приложения.
### Полный стенд
```bash
make all-up
```
Поднять инфраструктуру и сервисы приложения вместе.
```bash
make all-down
```
Остановить инфраструктуру и сервисы приложения.
```bash
make all-logs
```
Посмотреть логи всех сервисов.
```bash
make all-ps
```
Показать статус всех контейнеров.
## Сброс окружения
Пересоздать контейнеры приложения без удаления данных:
```bash
make app-reset
```
Пересоздать инфраструктурные контейнеры без удаления данных:
```bash
make infra-reset
```
Полностью сбросить стенд с удалением volumes, включая данные PostgreSQL:
```bash
make all-reset
```
После полного сброса достаточно снова запустить инфраструктуру и сервисы приложения:
```bash
make infra-up
make app-up
```
## Дополнительные команды для PostgreSQL
В `Makefile` также есть вспомогательные команды для ручной работы с PostgreSQL:
```bash
make db-shell
make db-wait
make db-create-all
```
В обычном сценарии запуска они не требуются, так как базы данных и схема создаются сервисами автоматически.