5.0 KiB
5.0 KiB
Відновлення логотипів та банерів
Статус
Логотипи та банери втрачені, але URLs в БД оновлено на правильний формат MinIO.
Поточний стан
- ✅ URLs в БД оновлено на формат MinIO (
https://assets.daarion.space/daarion-assets/microdao/logo/{slug}.png) - ❌ Файли відсутні в MinIO (потрібно завантажити)
- ✅ Система готова до завантаження нових файлів через UI
- ✅ Автоматичне відновлення URLs після відновлення БД
Що зроблено
- Оновлено
logo_urlдля всіх MicroDAO на правильний формат MinIO URLs - Очищено
banner_url(встановлено NULL) для старих форматів - Створено скрипт
scripts/restore-assets-to-minio.pyдля майбутнього використання - Створено скрипт
scripts/fix-asset-urls.shдля автоматичного виправлення URLs - Інтегровано виправлення URLs в
scripts/monitor-db-stability.sh
Автоматичне відновлення URLs
При відновленні БД з бекапу, скрипт monitor-db-stability.sh автоматично:
- Відновлює БД з бекапу
- Застосовує міграції
- Синхронізує агентів
- Виправляє URLs логотипів та банерів (викликає
fix-asset-urls.sh)
Як відновити логотипи та банери
Варіант 1: Завантажити через UI (рекомендовано)
- Відкрити
https://daarion.space/microdao/{slug}/settings(або Branding секцію) - Натиснути "Upload Logo" або "Upload Banner"
- Вибрати файл зображення
- Файл автоматично завантажиться в MinIO та URL оновиться в БД
Варіант 2: Виправити URLs вручну
cd /opt/microdao-daarion
bash scripts/fix-asset-urls.sh
Це оновить всі старі URLs на правильний формат MinIO.
Варіант 3: Завантажити через API
# Завантажити логотип
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
# Використовуючи 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 в БД
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
docker exec daarion-minio mc ls -r minio/daarion-assets/microdao/
Після відновлення БД
Якщо БД була відновлена з бекапу і URLs знову стали старими:
# Автоматично (через 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