Go to file
user 8b68b0f1e3 fix sh 2025-07-26 21:15:26 +03:00
alembic relayers 2025-07-02 19:25:20 +03:00
app upd 2025-07-11 06:46:33 +03:00
config relayers 2025-07-02 19:25:20 +03:00
data upd 2025-07-11 06:46:33 +03:00
deployment upd 2025-07-11 06:46:33 +03:00
docs docs / script 2025-07-25 15:36:24 +03:00
locale/en/LC_MESSAGES dowload & selectWallet & fixes & auth me 2025-03-17 13:40:37 +03:00
monitoring relayers 2025-07-02 19:25:20 +03:00
scripts new shs 2025-07-05 20:33:07 +03:00
.ch REFACTORING DIRECTORIES 2025-07-05 20:02:00 +03:00
.dockerignore upd 2025-07-11 06:46:33 +03:00
.env.compatible relayers 2025-07-02 19:25:20 +03:00
.env.example REFACTORING DIRECTORIES 2025-07-05 20:02:00 +03:00
.gitignore upd 2025-07-11 06:46:33 +03:00
Dockerfile upd 2025-07-11 06:46:33 +03:00
Dockerfile.simple fix 2025-07-05 20:46:32 +03:00
LICENSE Initial commit 2024-02-16 13:23:45 +00:00
MY_NETWORK_V2_DEPLOYMENT_GUIDE.md edit scripts 2025-07-14 22:22:21 +03:00
MY_NETWORK_V2_DEPLOYMENT_SUMMARY.md upd 2025-07-11 06:46:33 +03:00
README.md fix sh 2025-07-25 16:38:17 +03:00
bootstrap.json upd 2025-07-11 06:46:33 +03:00
check_app_status.sh йй 2025-07-05 20:42:58 +03:00
deploy_local_production.sh edit scripts 2025-07-14 22:22:21 +03:00
deploy_main_bootstrap_node.sh docs / script 2025-07-25 15:36:24 +03:00
deploy_production_my_network.sh upd 2025-07-11 06:46:33 +03:00
deploy_regular_node.sh edit scripts 2025-07-14 22:22:21 +03:00
docker-compose.yml upd 2025-07-11 06:46:33 +03:00
emergency_nginx_fix.sh fix 2025-07-05 20:39:52 +03:00
fix_app_restart.sh new fixes 2025-07-07 07:33:07 +03:00
fix_docker_container.sh fixes 2025-07-07 08:24:25 +03:00
fix_docker_no_sudo.sh upd 2025-07-11 06:46:33 +03:00
fix_nginx_now.sh new shs 2025-07-05 20:33:07 +03:00
pyproject.toml relayers 2025-07-02 19:25:20 +03:00
requirements.txt upd 2025-07-11 06:46:33 +03:00
setup_ssl_for_domain.sh fix 2025-07-05 20:46:32 +03:00
start.sh fix sh 2025-07-26 21:15:26 +03:00
start_my_network.py upd 2025-07-11 06:46:33 +03:00
universal_installer.sh upd 2025-07-11 06:46:33 +03:00

README.md

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 автоматически:

  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

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

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