fix: Integrate asset URL fix into recovery process and update docs
This commit is contained in:
@@ -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`
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user