109 lines
3.2 KiB
Markdown
109 lines
3.2 KiB
Markdown
# 🚀 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` применяются ко всем скриптам
|