Files
microdao-daarion/docs/ASSETS_DNS_SETUP.md

4.0 KiB
Raw Blame History

Налаштування DNS та Reverse Proxy для assets.daarion.space

Крок 1: Налаштування DNS

Cloudflare (рекомендовано)

  1. Увійдіть в Cloudflare Dashboard
  2. Виберіть домен daarion.space
  3. Перейдіть в DNSRecords
  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 хвилин та перевірте:

dig assets.daarion.space +short
# Має повернути: 144.76.224.179

# Або
nslookup assets.daarion.space

Крок 3: Отримання SSL сертифікату

Після того як DNS запрацює, на сервері виконайте:

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 в конфігурації:

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: Перевірка

# Перевірити 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:

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