Профили и конфигурация
Один процесс, несколько профилей
Профиль связывает источник, правила обработки и cache pool. Например, один профиль читает каталог Bitrix, другой — разрешённые HTTPS-источники.
Настройки загружаются при старте. После изменения YAML перезапустите сервис: hot reload не предусмотрен.
Качество и формат
defaults:
processing:
output: auto
webp: {quality: 80, effort: 4}
avif: {quality: 55, effort: 2}
http:
fallback: original
browser_max_age: 604800
output: auto согласует формат через Accept. Увеличение effort обычно требует больше процессорного времени. Подбирайте качество на реальных изображениях вашего сайта.
Обработка сохраняет исходные размеры, применяет EXIF-поворот и сохраняет прозрачность. Параметры w, h, fit и crop в URL не являются частью текущего API.
Локальные исходники
profiles:
bitrix:
source: {type: file, root: /mnt/upload}
cache: local
routes:
- {path_prefix: /upload/, profile: bitrix, type: file}
cache: local должен ссылаться на существующий cache_pools.local. Имена профилей участвуют в стандартных маршрутах /v1/{profile}/....
Путь вычисляется относительно root. Символические ссылки в компонентах пути запрещены. Не указывайте корень всей файловой системы в качестве source.
Источники по HTTPS
profiles:
remote:
source:
type: https
allowed_hosts: [images.example.com]
revalidate_after: 300s
cache: local
Список содержит точные имена разрешённых хостов. Сервис проверяет DNS, публичность адресов, сертификаты и каждое перенаправление. Частные IP, URL с userinfo и HTTP-источники запрещены.
revalidate_after задаёт период проверки источника; upstream Cache-Control, Age и Expires могут сократить его. Настройки тестового S3 не разрешают HTTP для исходных изображений.
Проверка изменений
Сохраните рабочую конфигурацию, измените один профиль и перезапустите тестовый экземпляр. Проверьте /ready, запросы к каждому источнику и логи запуска. Полный минимальный пример доступен в быстром старте.