# 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 - Проект с открытым исходным кодом