https://github.com/ionic-typing/front-tommy-temp
https://github.com/ionic-typing/front-tommy-temp
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ionic-typing/front-tommy-temp
- Owner: ionic-typing
- Created: 2025-10-08T04:37:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-10-08T04:53:21.000Z (10 months ago)
- Last Synced: 2026-04-01T10:37:27.401Z (4 months ago)
- Language: JavaScript
- Size: 4.51 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tommy Horne Frontend Deployment
Этот проект содержит фронтенд приложение Tommy Horne с автоматизированным развертыванием на VPS сервере с nginx и SSL сертификатом.
## Структура проекта
```
tommy-horne-front/
├── index.html # Главная страница приложения
├── nginx.conf # Конфигурация nginx с HTTPS
├── deploy.py # Основной Python скрипт развертывания
├── quick_deploy.py # Упрощенный скрипт для быстрого развертывания
├── deploy.sh # Bash скрипт развертывания (legacy)
├── setup-ssl.sh # Скрипт настройки SSL сертификата
├── deploy_config.json # Конфигурационный файл
├── requirements.txt # Python зависимости
├── tommy-horne-front.service # Systemd сервис
├── README.md # Документация
└── [статические файлы] # CSS, JS, изображения и т.д.
```
## Быстрый старт
### 1. Подготовка сервера
Убедитесь, что у вас есть:
- VPS сервер с Ubuntu/Debian
- Домен, указывающий на IP сервера
- Доступ по SSH с правами root
### 2. Загрузка проекта на сервер
```bash
# Клонируйте или загрузите проект на сервер
git clone /tmp/tommy-horne-front
cd /tmp/tommy-horne-front
# Или загрузите файлы через scp
scp -r . root@your-server-ip:/tmp/tommy-horne-front/
```
### 3. Python развертывание (рекомендуется)
#### Быстрое развертывание:
```bash
# Перейдите в директорию проекта
cd /tmp/tommy-horne-front
# Запустите быстрый скрипт
sudo python3 quick_deploy.py --domain synaptrixtools.com --email your-email@example.com
```
#### Полное развертывание с конфигурацией:
```bash
# Отредактируйте конфигурацию (опционально)
nano deploy_config.json
# Запустите основной скрипт
sudo python3 deploy.py --domain synaptrixtools.com --email your-email@example.com
```
#### Интерактивный режим:
```bash
sudo python3 deploy.py
# Скрипт запросит домен и email
```
### 4. Bash развертывание (legacy)
```bash
# Сделайте скрипт исполняемым
chmod +x deploy.sh setup-ssl.sh
# Запустите развертывание
sudo ./deploy.sh --domain synaptrixtools.com --email your-email@example.com
```
## Что делают скрипты развертывания
### Python скрипты (рекомендуется):
#### `deploy.py` - Полный скрипт развертывания:
1. **Обновление системы** - обновляет пакеты системы
2. **Установка зависимостей** - устанавливает nginx, certbot и другие необходимые пакеты
3. **Создание структуры директорий** - создает необходимые папки с правильными правами
4. **Резервное копирование** - создает бэкап существующего развертывания
5. **Развертывание файлов** - копирует файлы фронтенда в web-директорию
6. **Настройка nginx** - конфигурирует nginx с HTTPS
7. **Настройка SSL** - получает SSL сертификат от Let's Encrypt
8. **Настройка файрвола** - открывает необходимые порты
9. **Настройка логирования** - настраивает ротацию логов
10. **Создание сервиса** - создает systemd сервис для автозапуска
11. **Мониторинг** - настраивает базовый мониторинг
12. **Конфигурация** - использует JSON конфигурацию для гибкой настройки
#### `quick_deploy.py` - Упрощенный скрипт:
- Быстрое развертывание без дополнительных настроек
- Минимальная конфигурация
- Идеально для тестирования и простых развертываний
### Bash скрипты (legacy):
#### `deploy.sh` - Bash версия полного развертывания:
- Аналогичная функциональность Python версии
- Использует bash команды
- Менее гибкая конфигурация
## Конфигурация nginx
Nginx настроен с:
- HTTP → HTTPS редиректом
- SSL/TLS с современными настройками безопасности
- Gzip сжатием
- Кэшированием статических файлов
- Безопасными заголовками
- CORS для шрифтов
## SSL сертификат
Используется Let's Encrypt с автоматическим обновлением:
- Сертификат обновляется автоматически через cron
- Поддерживает wildcard домены
- Настроена проверка обновления
## Конфигурация
### `deploy_config.json` - Основной конфигурационный файл:
```json
{
"domain": "synaptrixtools.com",
"email": "your-email@example.com",
"server_ip": "your-server-ip",
"ssl_enabled": true,
"firewall_enabled": true,
"monitoring_enabled": true,
"backup_enabled": true,
"rate_limiting": {
"api_rate": "10r/s",
"static_rate": "30r/s"
}
}
```
### Командная строка Python скриптов:
```bash
# Основной скрипт с опциями
python3 deploy.py --help
# Быстрый скрипт
python3 quick_deploy.py --help
# Примеры использования
python3 deploy.py --domain synaptrixtools.com --email admin@example.com
python3 deploy.py --no-ssl --no-firewall
python3 quick_deploy.py --domain synaptrixtools.com --email admin@example.com --no-ssl
```
## Управление сервисом
```bash
# Статус сервиса
sudo systemctl status tommy-horne-front
# Запуск сервиса
sudo systemctl start tommy-horne-front
# Остановка сервиса
sudo systemctl stop tommy-horne-front
# Перезапуск сервиса
sudo systemctl restart tommy-horne-front
# Включение автозапуска
sudo systemctl enable tommy-horne-front
# Отключение автозапуска
sudo systemctl disable tommy-horne-front
```
## Управление nginx
```bash
# Проверка конфигурации
sudo nginx -t
# Перезагрузка конфигурации
sudo systemctl reload nginx
# Перезапуск nginx
sudo systemctl restart nginx
# Статус nginx
sudo systemctl status nginx
```
## Логи
```bash
# Логи nginx
sudo journalctl -u nginx -f
# Логи приложения
sudo journalctl -u tommy-horne-front -f
# Логи доступа nginx
sudo tail -f /var/log/nginx/access.log
# Логи ошибок nginx
sudo tail -f /var/log/nginx/error.log
```
## Мониторинг
Скрипт создает базовый мониторинг:
- Проверка доступности сайта каждые 5 минут
- Автоматический перезапуск nginx при проблемах
- Логирование в `/var/log/tommy-horne-front/`
## Резервное копирование
Автоматические бэкапы сохраняются в `/var/backups/tommy-horne-front/`:
- Создается перед каждым развертыванием
- Формат: `backup-YYYYMMDD-HHMMSS.tar.gz`
## Обновление SSL сертификата
```bash
# Проверка обновления (тестовый режим)
sudo certbot renew --dry-run
# Принудительное обновление
sudo certbot renew
# Проверка статуса сертификатов
sudo certbot certificates
```
## Безопасность
Настроены следующие меры безопасности:
- UFW файрвол с открытыми портами 22, 80, 443
- Современные SSL/TLS настройки
- Безопасные HTTP заголовки
- Ограничение доступа к системным файлам
- Rate limiting для API
## Устранение неполадок
### Проблема: Сайт не открывается
```bash
# Проверьте статус nginx
sudo systemctl status nginx
# Проверьте конфигурацию
sudo nginx -t
# Проверьте логи
sudo journalctl -u nginx -f
```
### Проблема: SSL сертификат не работает
```bash
# Проверьте сертификаты
sudo certbot certificates
# Обновите сертификат
sudo certbot renew
# Проверьте DNS
nslookup your-domain.com
```
### Проблема: 502 Bad Gateway
```bash
# Проверьте, что nginx запущен
sudo systemctl status nginx
# Проверьте права доступа к файлам
sudo chown -R www-data:www-data /var/www/tommy-horne-front
```
## Дополнительные настройки
### Изменение домена
1. Обновите DNS записи
2. Отредактируйте nginx конфигурацию
3. Получите новый SSL сертификат
4. Перезапустите nginx
### Добавление API бэкенда
Отредактируйте `nginx.conf` и настройте upstream для вашего API сервера.
## Поддержка
При возникновении проблем:
1. Проверьте логи
2. Убедитесь, что DNS настроен правильно
3. Проверьте статус всех сервисов
4. Обратитесь к документации nginx и certbot
## Лицензия
[Укажите вашу лицензию]