S.Gromov 98b162f2b8
Some checks failed
CI / e2e (push) Failing after 1m56s
CI / docker (push) Has been skipped
chore: добавить CI/CD для прод-деплоя
- добавлены Gitea workflows для CI и ручного CD

- настроен prod compose для запуска за reverse proxy

- добавлена публикация Caddy image в Container Registry

- обновлена документация по CI/CD и prod-сети
2026-05-04 12:51:28 +03:00

Image Gateway

Self-hosted прокси-сервер для обработки и кеширования изображений.

Caddy + imgproxy + Souin cache — три компонента, один Docker Compose.

Что делает

  • Принимает URL оригинального изображения
  • Обрабатывает: resize, crop, конвертация в WebP/AVIF, качество
  • Кеширует результат — повторные запросы отдаются за ~1ms
  • Purge кеша через API

Быстрый старт

cp .env.example .env
docker compose -f docker-compose.dev.yml up -d --build
# Обработка
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

Лицензия

Private

Description
Self-hosted решение для обработки и кеширования изображений (imgproxy + Caddy) с удобной веб-панелью для управления кешем.
Readme 58 KiB
Languages
JavaScript 76.5%
Shell 23.5%