61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
|
|
# Image Platform
|
|||
|
|
|
|||
|
|
Image Platform - отдельная площадка для управления изображениями, variants, PostgreSQL metadata и S3/Object Storage.
|
|||
|
|
|
|||
|
|
## Статус
|
|||
|
|
|
|||
|
|
Сейчас создан только базовый monorepo и dev-инфраструктура. Приложения `api`, `admin` и `gateway` пока намеренно не созданы.
|
|||
|
|
|
|||
|
|
## Целевая схема
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
client
|
|||
|
|
-> CDN optional
|
|||
|
|
-> gateway Caddy/Souin hot cache
|
|||
|
|
-> S3/Object Storage persistent variants
|
|||
|
|
-> generator/worker
|
|||
|
|
-> external imgproxy
|
|||
|
|
-> source/original image
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
`imgproxy` всегда считается внешним сервисом и подключается через `IMGPROXY_UPSTREAM`.
|
|||
|
|
|
|||
|
|
## Локальная разработка
|
|||
|
|
|
|||
|
|
В Docker поднимается только базовая инфраструктура:
|
|||
|
|
|
|||
|
|
- PostgreSQL
|
|||
|
|
- MinIO
|
|||
|
|
- MinIO bucket init
|
|||
|
|
|
|||
|
|
Позже нодой будут запускаться:
|
|||
|
|
|
|||
|
|
- NestJS API
|
|||
|
|
- worker
|
|||
|
|
- React/Vite admin
|
|||
|
|
|
|||
|
|
Gateway будет добавлен отдельно позже.
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cp .env.example .env
|
|||
|
|
pnpm install
|
|||
|
|
pnpm infra:up
|
|||
|
|
pnpm infra:config
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Порты по умолчанию:
|
|||
|
|
|
|||
|
|
| Сервис | URL |
|
|||
|
|
|---|---|
|
|||
|
|
| PostgreSQL | `localhost:5433` |
|
|||
|
|
| MinIO API | `http://localhost:9000` |
|
|||
|
|
| MinIO Console | `http://localhost:9001` |
|
|||
|
|
|
|||
|
|
## Документация
|
|||
|
|
|
|||
|
|
- `docs/architecture.md` - целевая архитектура и ответственность компонентов.
|
|||
|
|
- `docs/development.md` - локальный dev flow.
|
|||
|
|
- `docs/data-model.md` - черновик PostgreSQL модели.
|
|||
|
|
- `docs/api-contract-draft.md` - черновик будущего JSON API.
|
|||
|
|
- `docs/imgproxy-contract.md` - контракт с external imgproxy.
|