uploader-bot/README.md

176 lines
6.8 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.

# MY Network v3.0 - Единый установочный скрипт
**Автоматическая установка и запуск децентрализованной сети контента одной командой**
## 🚀 Быстрая установка
### Развертывание на новом сервере одной командой:
```bash
curl -fsSL https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh | sudo bash
```
### Или скачать и запустить локально:
```bash
wget https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh
chmod +x start.sh
sudo ./start.sh
```
## 📋 Что устанавливается
Скрипт `start.sh` автоматически:
1. **Клонирует все репозитории:**
- `uploader-bot` - основное приложение
- `web2-client` - веб-интерфейс управления нодой
- `converter-module` - модуль конвертации медиа
- `contracts` - блокчейн контракты
2. **Устанавливает зависимости:**
- Docker и Docker Compose
- Python 3.11+ и системные библиотеки
- Nginx (при включении веб-клиента)
- Certbot (при включении SSL)
3. **Настраивает инфраструктуру:**
- PostgreSQL база данных с миграциями
- Redis для кеширования
- Nginx с поддержкой chunked uploads до 10GB
- SSL сертификаты через Let's Encrypt (опционально)
4. **Создает файлы проекта:**
- `docker-compose.yml` с полной конфигурацией
- `Dockerfile` для сборки приложения
- `requirements.txt` со всеми зависимостями
- `init_db.sql` с настройкой базы данных
- `alembic.ini` для миграций
## 🔧 Интерактивная настройка
При запуске скрипт предложит настроить:
### Сетевые настройки:
- **Режим сети:** Создать новую сеть (Bootstrap) или подключиться к существующей
- **Тип ноды:** Публичная (с входящими соединениями) или приватная
- **Bootstrap конфигурация:** Использовать дефолтную или кастомную
### Веб-интерфейс:
- **Веб-клиент:** Развертывание интерфейса управления нодой
- **SSL сертификат:** Автоматическое получение и настройка HTTPS
- **Домен и email:** Для SSL сертификата
### Дополнительные опции:
- **Docker socket:** Путь к docker.sock для конвертации
- **Telegram боты:** API ключи для основного и клиентского ботов
## 🌐 После установки
### Доступ к ноде:
- **API:** `http://localhost:15100` или `https://your-domain.com`
- **Веб-интерфейс:** `http://localhost` или `https://your-domain.com`
- **Health check:** `/health`
- **Статус ноды:** `/api/v3/node/status`
### Управление сервисом:
```bash
# Запуск/остановка
systemctl start my-network
systemctl stop my-network
systemctl restart my-network
# Статус
systemctl status my-network
# Логи
docker-compose -f /opt/my-network/my-network/docker-compose.yml logs -f
```
### Мониторинг:
```bash
# Статус ноды
curl http://localhost:15100/api/v3/node/status | jq
# Статистика сети
curl http://localhost:15100/api/v3/network/stats | jq
# Список пиров
curl http://localhost:15100/api/v3/node/peers | jq
```
## 🏗️ Архитектура v3.0
### Ключевые особенности:
-**Полная децентрализация** - без консенсуса и центральных узлов
-**Мгновенная трансляция** - контент доступен без расшифровки
-**Автоматическая конвертация** - через Docker контейнеры
-**Блокчейн интеграция** - совместимость с uploader-bot
-**Chunked uploads** - поддержка файлов до 10GB
-**SSL автоматизация** - Let's Encrypt интеграция
### Компоненты системы:
- **API Server** - FastAPI приложение на порту 15100
- **База данных** - PostgreSQL с автомиграциями
- **Кеширование** - Redis для быстрого доступа
- **Веб-интерфейс** - Nginx + статические файлы
- **Конвертер** - Docker контейнер для медиа-обработки
## 🔐 Безопасность
- **Шифрование** - AES-256 для контента в сети
- **JWT токены** - для API аутентификации
- **SSL/TLS** - автоматические сертификаты
- **Firewall** - автоматическая настройка портов
- **Fail2ban** - защита от брутфорса
## 📁 Структура проекта
После установки создается:
```
/opt/my-network/
├── my-network/ # Основной проект
│ ├── uploader-bot/ # Основное приложение
│ ├── web2-client/ # Веб-интерфейс
│ ├── converter-module/ # Модуль конвертации
│ ├── contracts/ # Блокчейн контракты
│ ├── docker-compose.yml
│ ├── Dockerfile
│ ├── requirements.txt
│ └── init_db.sql
├── storage/ # Хранилище контента
├── config/ # Конфигурация (.env, bootstrap.json)
└── logs/ # Логи системы
```
## 🆘 Поддержка
После установки создается отчет: `/opt/my-network/installation-report.txt`
### Проблемы и решения:
**Ошибка клонирования репозиториев:**
```bash
# Проверьте доступность git.projscale.dev
ping git.projscale.dev
```
**Контейнеры не запускаются:**
```bash
# Проверьте логи
cd /opt/my-network/my-network
docker-compose logs
```
**SSL не работает:**
```bash
# Проверьте DNS записи
nslookup your-domain.com
# Проверьте nginx
nginx -t
systemctl status nginx
```
## 📝 Лицензия
MY Network v3.0 - Проект с открытым исходным кодом