Skip to content

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

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

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

1. Увійдіть в Cloudflare Dashboard
2. Виберіть домен `daarion.space`
3. Перейдіть в DNS → Records
4. Додайте новий A record:
5. Type: A
6. Name: `assets`
7. IPv4 address: `144.76.224.179` (IP NODE1)
8. Proxy status: 🟡 Proxied (або ⚪ DNS only)
9. TTL: Auto
10. Натисніть 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`