# Meridian + файловый сервер ## Зачем Картинки и вложения не храним в базе — кидаем на mirror1, в CMS только ссылка. ## Поток загрузки **Новая картинка:** 1. Редактор выбирает файл 2. `POST` → `mirror1.caelixflow.com/api/v1/upload` 3. URL на CDN: `cdn.caelixflow.com/media/.` **Замена картинки на месте** (тот же URL в статье): 1. `PUT` → `/api/v1/files/media/.` с новым содержимым 2. Ссылка в CMS не меняется, кеш CDN сбрасываем purge'ем POST — первый раз. PUT — когда поправили обрезку/размер и надо перезаписать файл, а не плодить `image-v2-final.png`. ## Конфигурация ```yaml caelixflow: upload_url: https://mirror1.caelixflow.com/api/v1/upload cdn_base: https://cdn.caelixflow.com token_env: CAELIXFLOW_API_TOKEN max_file_size: 104857600 # 100 MB allowed_types: - image/jpeg - image/png - image/webp - video/mp4 - application/pdf ``` ## Трансформации изображений Запрос к CDN с параметрами: ``` https://cdn.caelixflow.com/media/abc.jpg?w=800&h=600&fit=cover&format=webp ``` ## Очистка При удалении страницы Meridian помечает связанные медиа тегом `#orphan`. Cron раз в сутки удаляет orphan-файлы старше 30 дней.