132 lines
5.0 KiB
Markdown
132 lines
5.0 KiB
Markdown
# Відновлення логотипів та банерів
|
||
|
||
## Статус
|
||
|
||
**Логотипи та банери втрачені**, але 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`
|