# Відновлення логотипів та банерів ## Статус **Логотипи та банери втрачені**, але URLs в БД оновлено на правильний формат MinIO. ### Поточний стан - ✅ URLs в БД оновлено на формат MinIO (`https://assets.daarion.space/daarion-assets/microdao/logo/{slug}.png`) - ❌ Файли відсутні в MinIO (потрібно завантажити) - ✅ Система готова до завантаження нових файлів через UI - ✅ Автоматичне відновлення URLs після відновлення БД ## Що зроблено 1. Оновлено `logo_url` для всіх MicroDAO на правильний формат MinIO URLs 2. Очищено `banner_url` (встановлено NULL) для старих форматів 3. Створено скрипт `scripts/restore-assets-to-minio.py` для майбутнього використання 4. Створено скрипт `scripts/fix-asset-urls.sh` для автоматичного виправлення URLs 5. Інтегровано виправлення URLs в `scripts/monitor-db-stability.sh` ## Автоматичне відновлення URLs При відновленні БД з бекапу, скрипт `monitor-db-stability.sh` автоматично: 1. Відновлює БД з бекапу 2. Застосовує міграції 3. Синхронізує агентів 4. **Виправляє URLs логотипів та банерів** (викликає `fix-asset-urls.sh`) ## Як відновити логотипи та банери ### Варіант 1: Завантажити через UI (рекомендовано) 1. Відкрити `https://daarion.space/microdao/{slug}/settings` (або Branding секцію) 2. Натиснути "Upload Logo" або "Upload Banner" 3. Вибрати файл зображення 4. Файл автоматично завантажиться в MinIO та URL оновиться в БД ### Варіант 2: Виправити URLs вручну ```bash cd /opt/microdao-daarion bash scripts/fix-asset-urls.sh ``` Це оновить всі старі URLs на правильний формат MinIO. ### Варіант 3: Завантажити через API ```bash # Завантажити логотип curl -X POST https://daarion.space/api/city/assets/upload \ -F "file=@logo.png" \ -F "type=microdao_logo" \ -H "Authorization: Bearer YOUR_TOKEN" # Оновити logo_url в БД curl -X PATCH https://daarion.space/api/microdao/{slug}/branding \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_TOKEN" \ -d '{"logo_url": "https://assets.daarion.space/daarion-assets/microdao/logo/..."}' ``` ### Варіант 4: Завантажити напряму в MinIO ```bash # Використовуючи MinIO CLI docker exec daarion-minio mc cp logo.png minio/daarion-assets/microdao/logo/{slug}.png # Або через MinIO Console # Відкрити http://localhost:9001 (або https://minio.daarion.space) # Завантажити файли в bucket daarion-assets/microdao/logo/ ``` ## Структура файлів в MinIO ``` daarion-assets/ ├── microdao/ │ ├── logo/ │ │ ├── daarion.png │ │ ├── clan.png │ │ ├── soul.png │ │ └── ... │ └── banner/ │ ├── daarion.png │ └── ... └── agents/ └── avatar/ └── ... ``` ## Перевірка ### Перевірити URLs в БД ```bash docker exec daarion-postgres psql -U postgres -d daarion -c " SELECT slug, CASE WHEN logo_url LIKE 'https://%' THEN '✅' ELSE '❌' END as logo, CASE WHEN banner_url IS NULL THEN 'NULL' WHEN banner_url LIKE 'https://%' THEN '✅' ELSE '❌' END as banner FROM microdaos ORDER BY slug; " ``` ### Перевірити файли в MinIO ```bash docker exec daarion-minio mc ls -r minio/daarion-assets/microdao/ ``` ## Після відновлення БД Якщо БД була відновлена з бекапу і URLs знову стали старими: ```bash # Автоматично (через monitor-db-stability.sh) # Скрипт автоматично виправить URLs при відновленні # Або вручну cd /opt/microdao-daarion bash scripts/fix-asset-urls.sh ``` ## Примітки - Старі файли логотипів (`/assets/logos/*.png`) втрачені під час міграції - Нові файли потрібно завантажити вручну через UI або API - URLs в БД вже налаштовані на правильний формат, тому після завантаження файлів вони автоматично відображатимуться - При відновленні БД з бекапу, URLs автоматично виправляються скриптом `monitor-db-stability.sh`