Files
image-platform/docs/development.md
S.Gromov 37592c8b81 chore: добавить каркас image-platform
- добавлен базовый pnpm workspace для будущих приложений

- добавлена dev-инфраструктура PostgreSQL и MinIO

- добавлены env-пример и базовые правила репозитория

- зафиксированы архитектура, data model и API-контракт

- описан контракт с внешним imgproxy
2026-05-04 22:53:55 +03:00

1.9 KiB
Raw Blame History

Локальная разработка

Принцип

В Docker запускаем стабильную инфраструктуру. Кодовые сервисы позже запускаем нодой с hot reload.

Сейчас в Docker есть только:

  • PostgreSQL;
  • MinIO;
  • MinIO bucket init.

api, worker, admin и gateway пока не созданы.

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

cp .env.example .env
pnpm install
pnpm infra:up

Проверить compose config:

pnpm infra:config

Остановить:

pnpm infra:down

Логи:

pnpm infra:logs

Порты

Сервис URL
PostgreSQL localhost:5433
MinIO API http://localhost:9000
MinIO Console http://localhost:9001

Будущий dev flow

Когда появятся приложения:

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 через:

extra_hosts:
  - "host.docker.internal:host-gateway"

External imgproxy для разработки

imgproxy не входит в image-platform stack. Для локальной разработки можно использовать любой внешний endpoint и прописать его в .env:

IMGPROXY_UPSTREAM=http://localhost:18080

Если нужен локальный standalone imgproxy, его можно запустить отдельно вне этого compose stack. Он остаётся внешней зависимостью платформы.