|
|
||
|---|---|---|
| alembic | ||
| app | ||
| config | ||
| data | ||
| deployment | ||
| docs | ||
| locale/en/LC_MESSAGES | ||
| monitoring | ||
| scripts | ||
| .ch | ||
| .dockerignore | ||
| .env.compatible | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| Dockerfile.simple | ||
| LICENSE | ||
| MY_NETWORK_V2_DEPLOYMENT_GUIDE.md | ||
| MY_NETWORK_V2_DEPLOYMENT_SUMMARY.md | ||
| README.md | ||
| bootstrap.json | ||
| check_app_status.sh | ||
| deploy_local_production.sh | ||
| deploy_main_bootstrap_node.sh | ||
| deploy_production_my_network.sh | ||
| deploy_regular_node.sh | ||
| docker-compose.yml | ||
| emergency_nginx_fix.sh | ||
| fix_app_restart.sh | ||
| fix_docker_container.sh | ||
| fix_docker_no_sudo.sh | ||
| fix_nginx_now.sh | ||
| pyproject.toml | ||
| requirements.txt | ||
| setup_ssl_for_domain.sh | ||
| start.sh | ||
| start_my_network.py | ||
| universal_installer.sh | ||
README.md
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 автоматически:
-
Клонирует все репозитории:
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
Проблемы и решения:
Ошибка клонирования репозиториев:
# Проверьте доступность 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 - Проект с открытым исходным кодом