docs(assets): Add DNS setup and migration instructions
This commit is contained in:
127
docs/ASSETS_DNS_SETUP.md
Normal file
127
docs/ASSETS_DNS_SETUP.md
Normal 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`
|
||||||
|
|
||||||
Reference in New Issue
Block a user