8.3 KiB
8.3 KiB
MY Network v3.0 - Единый установочный скрипт
Автоматическая установка и запуск децентрализованной сети контента одной командой
🚀 Быстрая установка
🔥 Автоматическая установка одной командой (значения по умолчанию):
curl -fsSL https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh | sudo bash
Настройки по умолчанию:
- ✅ Bootstrap нода (создание новой сети)
- ✅ Веб-клиент включен
- ❌ SSL отключен (требует ручной настройки)
- ❌ Telegram боты отключены
🛠️ Интерактивная установка (с настройкой параметров):
wget https://git.projscale.dev/my-dev/uploader-bot/raw/branch/main/start.sh
chmod +x start.sh
sudo ./start.sh
Интерактивный режим позволяет настроить:
- Тип сети (Bootstrap или подключение к существующей)
- Тип ноды (публичная/приватная)
- SSL сертификат с доменом
- Telegram API ключи
- Путь к docker.sock
📋 Что устанавливается
Скрипт start.sh автоматически:
-
Клонирует все репозитории:
uploader-bot- основное приложениеweb2-client- веб-интерфейс управления нодойconverter-module- модуль конвертации медиаcontracts- блокчейн контракты
-
Устанавливает зависимости:
- Docker и Docker Compose
- Python 3.11+ и системные библиотеки
- Nginx (при включении веб-клиента)
- Certbot (при включении SSL)
-
Настраивает инфраструктуру:
- PostgreSQL база данных с миграциями
- Redis для кеширования
- Nginx с поддержкой chunked uploads до 10GB
- SSL сертификаты через Let's Encrypt (опционально)
-
Создает файлы проекта:
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
Проблемы и решения:
Ошибка сборки Converter (TLS handshake timeout):
# Автоматические решения скрипта:
# - 3 попытки сборки с увеличенными таймаутами
# - Очистка Docker cache между попытками
# - Перезапуск Docker daemon при повторных ошибках
# - Установка продолжится без converter если сборка не удалась
# Ручная сборка converter после установки:
cd /opt/my-network/my-network/converter-module/converter
docker build --network=host --build-arg HTTP_TIMEOUT=300 -t my-network-converter:latest .
# Проверка и сброс Docker настроек:
sudo systemctl restart docker
docker info | grep -i registry
docker system prune -f
Ошибка клонирования репозиториев:
# Проверьте доступность 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 - Проект с открытым исходным кодом