uploader-bot/README.md

6.8 KiB
Raw Blame History

MY Network v3.0 - Единый установочный скрипт

Автоматическая установка и запуск децентрализованной сети контента одной командой

🚀 Быстрая установка

Развертывание на новом сервере одной командой:

curl -fsSL https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh | sudo 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

Управление сервисом:

# Запуск/остановка
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

Мониторинг:

# Статус ноды
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

Проблемы и решения:

Ошибка клонирования репозиториев:

# Проверьте доступность git.projscale.dev
ping git.projscale.dev

Контейнеры не запускаются:

# Проверьте логи
cd /opt/my-network/my-network
docker-compose logs

SSL не работает:

# Проверьте DNS записи
nslookup your-domain.com
# Проверьте nginx
nginx -t
systemctl status nginx

📝 Лицензия

MY Network v3.0 - Проект с открытым исходным кодом