mnemo_cards/mnemo_cards_web_v2/deploy/README.md
2025-11-11 02:55:41 +03:00

109 lines
3.2 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.

# 🚀 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"
DOMAIN="5492281-cf88967.twc1.net"
# Приложение
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
export API_BASE_URL="https://your-api-server.com:8080"
```
## 🔧 Функции конфигурации
Файл `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` применяются ко всем скриптам