Files
microdao-daarion/docs/ASSETS_RESTORATION.md
2026-02-16 02:53:53 -08:00

5.0 KiB
Raw Permalink Blame History

Відновлення логотипів та банерів

Статус

Логотипи та банери втрачені, але 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 вручну

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