5.7 KiB
5.7 KiB
MY Network - Универсальная установка
🚀 Универсальный установщик MY Network для любого сервера
⚡ Быстрая установка
Один скрипт для полной установки на любом сервере:
# Скачать проект
git clone <repository_url>
cd uploader-bot # или my-uploader-bot, или название вашего проекта
# Запустить установку
chmod +x universal_installer.sh
sudo ./universal_installer.sh
🌐 Настройка домена и HTTPS
После установки настройте домен и SSL сертификат:
# 1. Исправить nginx (если есть ошибки)
chmod +x fix_nginx_now.sh
sudo ./fix_nginx_now.sh
# 2. Настроить домен и SSL
chmod +x scripts/setup_domain_ssl.sh
sudo ./scripts/setup_domain_ssl.sh
Требования для SSL:
- Домен должен быть направлен на IP сервера (A-запись в DNS)
- Порты 80 и 443 должны быть открыты
- Сервер должен быть доступен из интернета
📁 Структура проекта
my-uploader-bot/
├── universal_installer.sh # 🚀 Основной установщик
├── fix_nginx_now.sh # 🔧 Быстрое исправление nginx
├── app/ # 💻 Код приложения
├── scripts/ # 🛠️ Утилиты и скрипты
│ ├── setup_domain_ssl.sh # 🌐 Настройка домена и SSL
│ ├── diagnose.sh # 🔍 Диагностика проблем
│ └── ...
├── deployment/ # 📦 Файлы развертывания
├── docs/ # 📚 Документация
└── ...
📦 deployment/
docker-compose.production.yml- Основной compose файлDockerfile- Образ приложенияrequirements.txt- Python зависимостиenv.example- Пример переменных окружения
🛠️ scripts/
setup_domain_ssl.sh- Настройка домена и SSLdiagnose.sh- Диагностика проблемquick_check.sh- Быстрая проверка статусаsetup_*.sh- Скрипты настройки компонентов
📚 docs/
- Документация проекта
archive/- Устаревшие файлы
🔧 Что делает universal_installer.sh
- 🔍 Автопоиск проекта - находит папку проекта в любой директории
- 📦 Установка зависимостей - Docker, Docker Compose, Nginx, UFW
- 🔒 Настройка безопасности - файрвол, fail2ban
- 🗑️ Очистка - удаляет старые контейнеры
- ⚙️ Конфигурация - создает .env, настраивает nginx
- 🚀 Запуск - запускает все сервисы
- 🔧 SystemD service - автозапуск при перезагрузке
- ✅ Тестирование - проверяет работу API
🌐 После установки
HTTP доступ:
http://YOUR_SERVER_IP/api/health- API health checkhttp://YOUR_SERVER_IP/health- Альтернативный health check
HTTPS доступ (после настройки домена):
https://your-domain.com/api/health- API health checkhttps://your-domain.com/health- Альтернативный health check
🛠️ Управление
# Статус
sudo systemctl status mynetwork
# Перезапуск
sudo systemctl restart mynetwork
# Логи приложения
docker logs $(docker ps --format "{{.Names}}" | grep app | head -1)
# Логи nginx
sudo journalctl -u nginx -f
🔍 Диагностика
Если что-то не работает:
# Быстрая диагностика
./scripts/diagnose.sh
# Полная диагностика
./scripts/full_diagnosis.sh
# Исправление nginx
sudo ./fix_nginx_now.sh
🔒 SSL и безопасность
После настройки SSL:
- Автоматическое перенаправление HTTP → HTTPS
- Автообновление сертификатов Let's Encrypt
- Безопасные заголовки HTTP
- Современные SSL протоколы
# Проверка сертификата
sudo certbot certificates
# Тест обновления
sudo certbot renew --dry-run
📋 Поддерживаемые системы
- ✅ Ubuntu 20.04+
- ✅ Debian 11+
- ✅ CentOS 8+ (адаптация)
🚨 Решение проблем
Nginx ошибки:
sudo ./fix_nginx_now.sh
Контейнеры перезапускаются:
docker logs $(docker ps --format "{{.Names}}" | grep app | head -1)
./scripts/diagnose.sh
SSL не работает:
- Проверьте DNS записи
- Убедитесь что порты 80/443 открыты
- Проверьте файрвол:
sudo ufw status
🆘 Поддержка
Скрипт автоматически:
- Находит проект в любой директории
- Адаптируется к разным именам контейнеров
- Работает с разными compose файлами
- Создает резервные копии конфигураций
- Показывает детальную диагностику при ошибках
- Настраивает SSL с автообновлением