Files
microdao-daarion/docs/ASSETS_DNS_SETUP.md

128 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Налаштування 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`