Files
microdao-daarion/docs/ASSETS_RESTORATION.md

132 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Відновлення логотипів та банерів
## Статус
**Логотипи та банери втрачені**, але 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`