fix: Integrate asset URL fix into recovery process and update docs

This commit is contained in:
Apple
2025-12-03 10:13:19 -08:00
parent 51fdd0d5da
commit db3b74e1ba
2 changed files with 39 additions and 16 deletions

View File

@@ -9,12 +9,23 @@
- ✅ 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`)
## Як відновити логотипи та банери
@@ -25,7 +36,16 @@
3. Вибрати файл зображення
4. Файл автоматично завантажиться в MinIO та URL оновиться в БД
### Варіант 2: Завантажити через API
### Варіант 2: Виправити URLs вручну
```bash
cd /opt/microdao-daarion
bash scripts/fix-asset-urls.sh
```
Це оновить всі старі URLs на правильний формат MinIO.
### Варіант 3: Завантажити через API
```bash
# Завантажити логотип
@@ -41,7 +61,7 @@ curl -X PATCH https://daarion.space/api/microdao/{slug}/branding \
-d '{"logo_url": "https://assets.daarion.space/daarion-assets/microdao/logo/..."}'
```
### Варіант 3: Завантажити напряму в MinIO
### Варіант 4: Завантажити напряму в MinIO
```bash
# Використовуючи MinIO CLI
@@ -90,9 +110,22 @@ ORDER BY slug;
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`

View File

@@ -66,19 +66,9 @@ if [ "$MICRODAO_COUNT" -lt 5 ] || [ "$AGENT_COUNT" -lt 10 ]; then
# Remove test agents
bash scripts/remove-test-agents.sh 2>&1 | tail -3 || true
# Restore asset URLs (logos and banners)
log "🖼️ Restoring asset URLs..."
docker exec daarion-postgres psql -U postgres -d daarion -c "
UPDATE microdaos
SET logo_url = 'https://assets.daarion.space/daarion-assets/microdao/logo/' || slug || '.png'
WHERE logo_url IS NOT NULL
AND (logo_url LIKE '/assets/%' OR logo_url NOT LIKE 'https://%');
UPDATE microdaos
SET banner_url = NULL
WHERE banner_url IS NOT NULL
AND (banner_url LIKE '/api/static/%' OR banner_url NOT LIKE 'https://%');
" 2>&1 | grep -v "UPDATE\|^$" || true
# Fix asset URLs (logos and banners)
log "🖼️ Fixing asset URLs..."
bash scripts/fix-asset-urls.sh 2>&1 | tail -5 || true
log "✅ Recovery complete"
else