mnemo_cards/tools/deploy/web-app
2026-01-03 16:48:08 +03:00
..
config.sh fix 2025-12-03 02:28:12 +03:00
deploy.sh tools 2026-01-03 16:48:08 +03:00
nginx.conf
README.md
setup_ssh_webroot.sh

🚀 Mnemo Cards Web App - Deployment Configuration

📁 Структура файлов

deploy/
├── config.sh          # Централизованная конфигурация
├── deploy.sh          # Скрипт деплоя (обычный)
├── nginx.conf         # Конфигурация nginx
└── README.md          # Этот файл

⚙️ Конфигурация

Все переменные деплоя централизованы в файле config.sh. Для изменения настроек отредактируйте этот файл.

🔧 Основные переменные

# Сервер
SERVER_IP="147.45.152.129"
SERVER_USER="root"
DOMAIN="mnemo-cards.online"

# Приложение
APP_NAME="mnemo_cards"
WEB_ROOT="/var/www/mnemo_cards"

# API
API_BASE_URL="https://1592725-cf88967.twc1.net:8081"

🛡️ Безопасность

# 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)

./deploy/deploy.sh

SSL деплой (с Let's Encrypt)

./setup_ssh_webroot.sh

📝 Изменение конфигурации

  1. Отредактируйте deploy/config.sh
  2. Запустите нужный скрипт деплоя

Примеры изменений

Смена сервера:

export SERVER_IP="your-server-ip"
export SERVER_USER="your-user"

Смена домена:

export DOMAIN="your-domain.com"

Смена API URL:

export API_BASE_URL="https://your-api-server.com:8443"

🔧 Функции конфигурации

Файл 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 применяются ко всем скриптам