# Локальная разработка ## Принцип В Docker запускаем стабильную инфраструктуру. Кодовые сервисы позже запускаем нодой с hot reload. Сейчас в Docker есть только: - PostgreSQL; - MinIO; - MinIO bucket init. `api`, `worker`, `admin` и `gateway` пока не созданы. ## Запуск инфраструктуры ```bash cp .env.example .env pnpm install pnpm infra:up ``` Проверить compose config: ```bash pnpm infra:config ``` Остановить: ```bash pnpm infra:down ``` Логи: ```bash pnpm infra:logs ``` ## Порты | Сервис | URL | |---|---| | PostgreSQL | `localhost:5433` | | MinIO API | `http://localhost:9000` | | MinIO Console | `http://localhost:9001` | ## Будущий dev flow Когда появятся приложения: ```text React/Vite admin localhost:5173 -> NestJS API localhost:3001 -> PostgreSQL localhost:5433 -> MinIO localhost:9000 worker node process -> PostgreSQL -> MinIO -> external imgproxy gateway Caddy/Souin localhost:8888 -> S3/MinIO ready variant -> API/generator fallback on host.docker.internal:3001 ``` Для Linux gateway container должен видеть host services через: ```yaml extra_hosts: - "host.docker.internal:host-gateway" ``` ## External imgproxy для разработки `imgproxy` не входит в `image-platform` stack. Для локальной разработки можно использовать любой внешний endpoint и прописать его в `.env`: ```env IMGPROXY_UPSTREAM=http://localhost:18080 ``` Если нужен локальный standalone imgproxy, его можно запустить отдельно вне этого compose stack. Он остаётся внешней зависимостью платформы.