mnemo_cards/tools/deploy/web-app/README.md

110 lines
3.2 KiB
Markdown
Raw Normal View History

2025-11-10 23:55:41 +00:00
# 🚀 Mnemo Cards Web App - Deployment Configuration
## 📁 Структура файлов
```
deploy/
├── config.sh # Централизованная конфигурация
├── deploy.sh # Скрипт деплоя (обычный)
├── nginx.conf # Конфигурация nginx
└── README.md # Этот файл
```
## ⚙️ Конфигурация
Все переменные деплоя централизованы в файле `config.sh`. Для изменения настроек отредактируйте этот файл.
### 🔧 Основные переменные
```bash
# Сервер
SERVER_IP="147.45.152.129"
SERVER_USER="root"
2025-11-19 22:40:56 +00:00
DOMAIN="mnemo-cards.online"
2025-11-10 23:55:41 +00:00
# Приложение
APP_NAME="mnemo_cards"
WEB_ROOT="/var/www/mnemo_cards"
# API
API_BASE_URL="https://1592725-cf88967.twc1.net:8081"
```
### 🛡️ Безопасность
```bash
# SSL сертификаты
SSL_CERT_PATH="/etc/letsencrypt/live/$DOMAIN/fullchain.pem"
SSL_KEY_PATH="/etc/letsencrypt/live/$DOMAIN/privkey.pem"
# Заголовки безопасности
CSP_POLICY="default-src 'self' http: https: data: blob: 'unsafe-inline' 'unsafe-eval'"
```
## 🚀 Использование
### Обычный деплой (с self-signed SSL)
```bash
./deploy/deploy.sh
```
### SSL деплой (с Let's Encrypt)
```bash
./setup_ssh_webroot.sh
```
## 📝 Изменение конфигурации
1. Отредактируйте `deploy/config.sh`
2. Запустите нужный скрипт деплоя
### Примеры изменений
**Смена сервера:**
```bash
export SERVER_IP="your-server-ip"
export SERVER_USER="your-user"
```
**Смена домена:**
```bash
export DOMAIN="your-domain.com"
```
**Смена API URL:**
```bash
2025-11-16 16:31:22 +00:00
export API_BASE_URL="https://your-api-server.com:8443"
2025-11-10 23:55:41 +00:00
```
## 🔧 Функции конфигурации
Файл `config.sh` содержит полезные функции:
- `print_status()` - информационные сообщения
- `print_warning()` - предупреждения
- `print_error()` - ошибки
- `print_success()` - успешные операции
- `check_project_root()` - проверка директории
- `build_flutter_app()` - сборка приложения
- `create_backup()` - создание бэкапа
- `set_permissions()` - установка прав
- `test_nginx()` - тест nginx
- `restart_nginx()` - перезапуск nginx
## 🎯 Преимущества централизованной конфигурации
1. **Единое место** для всех настроек
2. **Легкое изменение** параметров
3. **Переиспользование** переменных
4. **Консистентность** между скриптами
5. **Удобное сопровождение**
## ⚠️ Важные заметки
- Все скрипты автоматически загружают `config.sh`
- Переменные экспортируются в окружение
- Функции доступны во всех скриптах
- Изменения в `config.sh` применяются ко всем скриптам