167 lines
5.7 KiB
Markdown
167 lines
5.7 KiB
Markdown
# 🚀 Инструкции по развертыванию MY Network Bootstrap Node
|
||
|
||
## 📋 Что нужно сделать на сервере 2.58.65.188
|
||
|
||
### ✅ Шаг 1: Подключение к серверу
|
||
```bash
|
||
ssh service@2.58.65.188
|
||
# Пароль: DMUEjmnh6mDs/qlzhpjDzQ
|
||
```
|
||
|
||
### ✅ Шаг 2: Запуск автоматического развертывания
|
||
```bash
|
||
# Переход в root
|
||
sudo su -
|
||
|
||
# Запуск скрипта развертывания
|
||
chmod +x /tmp/auto_deploy.sh
|
||
bash /tmp/auto_deploy.sh
|
||
```
|
||
|
||
**⏳ Время выполнения: ~15-20 минут**
|
||
|
||
### ✅ Шаг 3: Проверка результата
|
||
После завершения скрипта проверьте:
|
||
|
||
```bash
|
||
# Статус сервисов
|
||
systemctl status my-network-bootstrap nginx docker
|
||
|
||
# Проверка API
|
||
curl https://my-public-node-3.projscale.dev/api/my/health
|
||
|
||
# Проверка портов (должен быть только 443)
|
||
netstat -tlnp | grep LISTEN
|
||
|
||
# Проверка firewall
|
||
ufw status numbered
|
||
```
|
||
|
||
## 🎯 Что будет развернуто:
|
||
|
||
### 🔧 **Базовая инфраструктура:**
|
||
- ✅ Ubuntu система обновлена
|
||
- ✅ Docker + Docker Compose установлены
|
||
- ✅ Python 3 + venv + зависимости
|
||
- ✅ MariaDB 11.2 (внутренний порт 3306)
|
||
- ✅ Redis 7 (внутренний порт 6379)
|
||
|
||
### 🌐 **MY Network Bootstrap Node:**
|
||
- ✅ Основное приложение на порту 15100 (внутренний)
|
||
- ✅ Bootstrap конфигурация для всей сети
|
||
- ✅ REST API для управления сетью
|
||
- ✅ Веб-мониторинг с ASCII интерфейсом
|
||
|
||
### 🔒 **Безопасность:**
|
||
- ✅ Nginx proxy только на порт 443 (HTTPS)
|
||
- ✅ SSL сертификат Let's Encrypt для my-public-node-3.projscale.dev
|
||
- ✅ UFW firewall - ТОЛЬКО SSH + 443 порт
|
||
- ✅ Fail2ban защита от атак
|
||
- ✅ Все внутренние порты заблокированы
|
||
|
||
### 🛡️ **Cloudflare совместимость:**
|
||
- ✅ Настроены IP ranges для Cloudflare
|
||
- ✅ Real IP header обработка
|
||
- ✅ CORS headers для публичного API
|
||
- ✅ Rate limiting для разных endpoints
|
||
|
||
## 📡 **Доступные API endpoints:**
|
||
|
||
### 🌍 **Публичные (доступны всем):**
|
||
- **Health Check:** `https://my-public-node-3.projscale.dev/api/my/health`
|
||
- **Node Info:** `https://my-public-node-3.projscale.dev/api/my/node/info`
|
||
- **Bootstrap Config:** `https://my-public-node-3.projscale.dev/api/my/bootstrap/config`
|
||
|
||
### 🔒 **Ограниченные (только localhost):**
|
||
- **Monitor Dashboard:** `https://my-public-node-3.projscale.dev/api/my/monitor/`
|
||
|
||
## 🎮 **Для других узлов сети:**
|
||
|
||
Другие узлы смогут подключаться к этому bootstrap узлу используя:
|
||
|
||
```json
|
||
{
|
||
"bootstrap_nodes": [
|
||
{
|
||
"id": "bootstrap-primary",
|
||
"host": "my-public-node-3.projscale.dev",
|
||
"port": 443,
|
||
"ssl": true,
|
||
"public": true
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
## 📊 **Мониторинг:**
|
||
|
||
### 🔍 **Автоматический мониторинг:**
|
||
- ✅ Проверка каждые 2 минуты
|
||
- ✅ Логирование в `/opt/logs/bootstrap-monitor.log`
|
||
- ✅ Уведомления о критических проблемах
|
||
|
||
### 📈 **Ручная проверка:**
|
||
```bash
|
||
# Логи сервиса
|
||
journalctl -u my-network-bootstrap -f
|
||
|
||
# Системный мониторинг
|
||
tail -f /opt/logs/bootstrap-monitor.log
|
||
|
||
# SSL статус
|
||
certbot certificates
|
||
|
||
# Статистика nginx
|
||
tail -f /var/log/nginx/access.log
|
||
```
|
||
|
||
## 🆘 **Troubleshooting:**
|
||
|
||
### ❌ **Если API недоступен:**
|
||
```bash
|
||
systemctl restart my-network-bootstrap nginx
|
||
curl -v https://my-public-node-3.projscale.dev/api/my/health
|
||
```
|
||
|
||
### ❌ **Если SSL не работает:**
|
||
```bash
|
||
certbot certificates
|
||
certbot renew --dry-run
|
||
systemctl reload nginx
|
||
```
|
||
|
||
### ❌ **Если firewall блокирует:**
|
||
```bash
|
||
ufw status numbered
|
||
# Проверить что порт 443 разрешен
|
||
```
|
||
|
||
## 📋 **Финальный чек-лист:**
|
||
|
||
После развертывания должно быть:
|
||
|
||
- [ ] ✅ `curl https://my-public-node-3.projscale.dev/api/my/health` возвращает 200
|
||
- [ ] ✅ `curl https://my-public-node-3.projscale.dev/api/my/node/info` показывает информацию об узле
|
||
- [ ] ✅ `curl https://my-public-node-3.projscale.dev/api/my/bootstrap/config` возвращает конфигурацию
|
||
- [ ] ✅ `systemctl status my-network-bootstrap nginx docker` все сервисы active
|
||
- [ ] ✅ `ufw status` показывает только SSH и 443 порт
|
||
- [ ] ✅ `netstat -tlnp | grep :443` nginx слушает порт 443
|
||
- [ ] ✅ SSL сертификат действителен (проверить в браузере)
|
||
|
||
## 🎉 **Результат:**
|
||
|
||
После успешного развертывания у вас будет:
|
||
|
||
**🚀 Полностью функциональный MY Network Bootstrap Node**
|
||
- Доступен по HTTPS на my-public-node-3.projscale.dev
|
||
- Готов принимать подключения других узлов сети
|
||
- Защищен firewall + SSL + fail2ban
|
||
- Автоматический мониторинг и обслуживание
|
||
- Совместим с Cloudflare proxy
|
||
|
||
**🌐 Готов стать основным узлом распределенной сети MY Network!**
|
||
|
||
---
|
||
|
||
*Время развертывания: ~15-20 минут*
|
||
*Требования: Ubuntu 20.04+, root доступ, домен настроен* |