From 5061070d57c052d8cc9602f7d0d88d4fa47c2cf3 Mon Sep 17 00:00:00 2001 From: Apple Date: Tue, 2 Dec 2025 02:14:07 -0800 Subject: [PATCH] docs(assets): Add DNS setup and migration instructions --- docs/ASSETS_DNS_SETUP.md | 127 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 docs/ASSETS_DNS_SETUP.md diff --git a/docs/ASSETS_DNS_SETUP.md b/docs/ASSETS_DNS_SETUP.md new file mode 100644 index 00000000..23684a57 --- /dev/null +++ b/docs/ASSETS_DNS_SETUP.md @@ -0,0 +1,127 @@ +# Налаштування DNS та Reverse Proxy для assets.daarion.space + +## Крок 1: Налаштування DNS + +### Cloudflare (рекомендовано) + +1. Увійдіть в Cloudflare Dashboard +2. Виберіть домен `daarion.space` +3. Перейдіть в **DNS** → **Records** +4. Додайте новий A record: + - **Type**: A + - **Name**: `assets` + - **IPv4 address**: `144.76.224.179` (IP NODE1) + - **Proxy status**: 🟡 Proxied (або ⚪ DNS only) + - **TTL**: Auto +5. Натисніть **Save** + +### Альтернативні DNS провайдери + +Якщо використовуєте інший DNS провайдер, додайте A record: +- **Host**: `assets` +- **Type**: A +- **Value**: `144.76.224.179` +- **TTL**: 3600 (або Auto) + +## Крок 2: Перевірка DNS + +Після додавання DNS запису, зачекайте 1-5 хвилин та перевірте: + +```bash +dig assets.daarion.space +short +# Має повернути: 144.76.224.179 + +# Або +nslookup assets.daarion.space +``` + +## Крок 3: Отримання SSL сертифікату + +Після того як DNS запрацює, на сервері виконайте: + +```bash +ssh root@144.76.224.179 + +# Отримати сертифікат +certbot certonly --nginx -d assets.daarion.space --non-interactive --agree-tos --email admin@daarion.space + +# Або через webroot (якщо NGINX не працює) +certbot certonly --webroot -w /var/www/html -d assets.daarion.space --non-interactive --agree-tos --email admin@daarion.space +``` + +## Крок 4: Активація SSL в NGINX + +Після отримання сертифікату, активуйте SSL в конфігурації: + +```bash +ssh root@144.76.224.179 + +# Відновити SSL директиви +cd /opt/microdao-daarion +cp nginx/assets_daarion_space.conf /etc/nginx/conf.d/ + +# Перевірити конфігурацію +nginx -t + +# Перезапустити NGINX +systemctl reload nginx +``` + +## Крок 5: Перевірка + +```bash +# Перевірити HTTP redirect +curl -I http://assets.daarion.space + +# Перевірити HTTPS +curl -I https://assets.daarion.space/minio/health/live + +# Перевірити доступ до bucket +curl https://assets.daarion.space/daarion-assets/ +``` + +## Крок 6: Міграція Assets + +Після налаштування DNS та SSL, мігруйте існуючі assets: + +```bash +ssh root@144.76.224.179 +cd /opt/microdao-daarion + +# Dry run (перевірка що буде мігровано) +python3 scripts/migrate_assets_to_minio.py --dry-run + +# Реальна міграція +python3 scripts/migrate_assets_to_minio.py + +# Оновити URLs в базі даних +python3 scripts/update_db_asset_urls.py --dry-run # спочатку перевірка +python3 scripts/update_db_asset_urls.py # реальне оновлення +``` + +## Troubleshooting + +### DNS не працює + +1. Перевірте що A record створено правильно +2. Зачекайте до 24 годин (зазвичай 5-15 хвилин) +3. Перевірте через `dig` або `nslookup` + +### Certbot не може отримати сертифікат + +1. Переконайтеся що DNS працює (`dig assets.daarion.space`) +2. Перевірте що порт 80 доступний з інтернету +3. Спробуйте DNS challenge: `certbot certonly --manual --preferred-challenges dns -d assets.daarion.space` + +### NGINX не запускається + +1. Перевірте конфігурацію: `nginx -t` +2. Перевірте логи: `journalctl -xeu nginx.service` +3. Перевірте чи порт 80/443 не зайнятий: `netstat -tlnp | grep -E ':80|:443'` + +### MinIO не доступний + +1. Перевірте що MinIO контейнер працює: `docker ps | grep minio` +2. Перевірте що MinIO слухає на 9000: `curl http://localhost:9000/minio/health/live` +3. Перевірте bucket: `docker exec daarion-minio mc ls local/daarion-assets` +