uploader-bot/README.md

170 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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