40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
|
|
# Image Gateway
|
||
|
|
|
||
|
|
Self-hosted прокси-сервер для обработки и кеширования изображений.
|
||
|
|
|
||
|
|
**Caddy** + **imgproxy** + **Souin cache** — три компонента, один Docker Compose.
|
||
|
|
|
||
|
|
## Что делает
|
||
|
|
|
||
|
|
- Принимает URL оригинального изображения
|
||
|
|
- Обрабатывает: resize, crop, конвертация в WebP/AVIF, качество
|
||
|
|
- Кеширует результат — повторные запросы отдаются за ~1ms
|
||
|
|
- Purge кеша через API
|
||
|
|
|
||
|
|
## Быстрый старт
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cp .env.example .env
|
||
|
|
docker compose -f docker-compose.dev.yml up -d --build
|
||
|
|
```
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Обработка
|
||
|
|
curl -s -o /tmp/test.jpg \
|
||
|
|
"http://localhost:8888/unsafe/resize:fit:800:0:0/q:80/plain/https://picsum.photos/1200/800"
|
||
|
|
|
||
|
|
# Кеш: MISS → HIT
|
||
|
|
curl -s -o /dev/null -D - "http://localhost:8888/unsafe/resize:fit:100:0:0/q:80/plain/https://picsum.photos/200/200" | grep Cache-Status
|
||
|
|
|
||
|
|
# Purge
|
||
|
|
curl -X PURGE http://localhost:2019/souin-api/souin/flush
|
||
|
|
```
|
||
|
|
|
||
|
|
## Документация
|
||
|
|
|
||
|
|
→ [docs/index.md](docs/index.md)
|
||
|
|
|
||
|
|
## Лицензия
|
||
|
|
|
||
|
|
Private
|