docs(assets): Add DNS setup and migration instructions

This commit is contained in:
Apple
2025-12-02 02:14:07 -08:00
parent b79db5b2a4
commit 5061070d57

127
docs/ASSETS_DNS_SETUP.md Normal file
View File

@@ -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`