#!/bin/bash # ============================================================================= # НАСТРОЙКА PRODUCTION ОКРУЖЕНИЯ ДЛЯ MY UPLOADER BOT # ============================================================================= if [ $# -lt 2 ]; then echo "Usage: $0 " exit 1 fi DOMAIN="$1" EMAIL="$2" ENV_FILE=".env.production" echo "Создание production конфигурации для $DOMAIN..." # Генерация случайных ключей SECRET_KEY=$(openssl rand -base64 48 | tr -d "=+/" | cut -c1-64) JWT_SECRET_KEY=$(openssl rand -base64 48 | tr -d "=+/" | cut -c1-64) POSTGRES_PASSWORD=$(openssl rand -base64 24 | tr -d "=+/" | cut -c1-32) cat > "$ENV_FILE" << EOF # ============================================================================= # MY UPLOADER BOT - PRODUCTION CONFIGURATION # ============================================================================= # Domain: $DOMAIN # Email: $EMAIL # Generated: $(date) # ============================================================================= # ============================================================================= # ОБЯЗАТЕЛЬНЫЕ TELEGRAM ТОКЕНЫ (ТРЕБУЕТСЯ ЗАПОЛНИТЬ ВРУЧНУЮ!) # ============================================================================= # Получить токены можно у @BotFather в Telegram TELEGRAM_API_KEY=CHANGE_ME_123456789:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA CLIENT_TELEGRAM_API_KEY=CHANGE_ME_987654321:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB # ============================================================================= # ДОМЕН И ХОСТ # ============================================================================= PROJECT_HOST=https://$DOMAIN DOMAIN=$DOMAIN ACME_EMAIL=$EMAIL # ============================================================================= # БАЗА ДАННЫХ PostgreSQL # ============================================================================= POSTGRES_DB=myuploader POSTGRES_USER=uploader POSTGRES_PASSWORD=$POSTGRES_PASSWORD POSTGRES_PORT=5432 # ============================================================================= # REDIS # ============================================================================= REDIS_PORT=6379 # ============================================================================= # ПРИЛОЖЕНИЕ (PRODUCTION SETTINGS) # ============================================================================= SANIC_PORT=15100 DEBUG=false LOG_LEVEL=INFO MAINTENANCE_MODE=false # ============================================================================= # БЕЗОПАСНОСТЬ (АВТОГЕНЕРИРОВАННЫЕ КЛЮЧИ) # ============================================================================= SECRET_KEY=$SECRET_KEY JWT_SECRET_KEY=$JWT_SECRET_KEY # ============================================================================= # TON BLOCKCHAIN (MAINNET) # ============================================================================= TESTNET=false TONCENTER_HOST=https://toncenter.com/api/v2/ TONCENTER_API_KEY= TONCENTER_V3_HOST=https://toncenter.com/api/v3/ # ============================================================================= # ФОНОВЫЕ СЕРВИСЫ # ============================================================================= INDEXER_ENABLED=true TON_DAEMON_ENABLED=true LICENSE_SERVICE_ENABLED=true CONVERT_SERVICE_ENABLED=true # ============================================================================= # МОНИТОРИНГ И МЕТРИКИ # ============================================================================= METRICS_ENABLED=true METRICS_PORT=9090 HEALTH_CHECK_ENABLED=true # ============================================================================= # ОГРАНИЧЕНИЯ СКОРОСТИ (PRODUCTION VALUES) # ============================================================================= RATE_LIMIT_ENABLED=true RATE_LIMIT_REQUESTS=1000 RATE_LIMIT_WINDOW=60 # ============================================================================= # ПРОИЗВОДИТЕЛЬНОСТЬ # ============================================================================= DATABASE_POOL_SIZE=20 DATABASE_MAX_OVERFLOW=30 REDIS_POOL_SIZE=20 # ============================================================================= # БЕЗОПАСНОСТЬ И ФАЙЛЫ # ============================================================================= MAX_FILE_SIZE=104857600 # 100MB UPLOADS_DIR=/app/data # ============================================================================= # GRAFANA И МОНИТОРИНГ # ============================================================================= GRAFANA_PASSWORD=$(openssl rand -base64 16 | tr -d "=+/" | cut -c1-20) # ============================================================================= # BACKUP НАСТРОЙКИ # ============================================================================= BACKUP_SCHEDULE=0 2 * * * # ============================================================================= # WEB2-CLIENT НАСТРОЙКИ # ============================================================================= WEB2_CLIENT_PORT=3000 WEB2_CLIENT_HOST=http://localhost:3000 # ============================================================================= # CONVERTER-MODULE НАСТРОЙКИ # ============================================================================= CONVERTER_PORT=8080 CONVERTER_HOST=http://localhost:8080 EOF echo "✅ Production конфигурация создана: $ENV_FILE" # Создание примера локального .env cat > ".env.example" << EOF # ============================================================================= # MY UPLOADER BOT - EXAMPLE CONFIGURATION # ============================================================================= # Скопируйте этот файл в .env и заполните необходимые значения # ============================================================================= # ОБЯЗАТЕЛЬНЫЕ ПОЛЯ TELEGRAM_API_KEY=123456789:YOUR_BOT_TOKEN_FROM_BOTFATHER CLIENT_TELEGRAM_API_KEY=987654321:YOUR_CLIENT_BOT_TOKEN_FROM_BOTFATHER # ОСНОВНЫЕ НАСТРОЙКИ PROJECT_HOST=http://localhost:15100 DEBUG=true LOG_LEVEL=DEBUG # БАЗА ДАННЫХ POSTGRES_DB=uploader_bot POSTGRES_USER=uploader POSTGRES_PASSWORD=secure_password_123 # БЕЗОПАСНОСТЬ (СГЕНЕРИРУЙТЕ НОВЫЕ!) SECRET_KEY=your-secret-key-here-minimum-32-characters JWT_SECRET_KEY=your-jwt-secret-key-here-minimum-32-characters # TON (ТЕСТОВАЯ СЕТЬ ДЛЯ РАЗРАБОТКИ) TESTNET=true TONCENTER_HOST=https://testnet.toncenter.com/api/v2/ EOF echo "✅ Пример конфигурации создан: .env.example" # Установка правильных прав доступа chmod 600 "$ENV_FILE" chmod 644 ".env.example" echo "" echo "⚠️ ВАЖНО: Отредактируйте файл $ENV_FILE и заполните:" echo " - TELEGRAM_API_KEY (получите у @BotFather)" echo " - CLIENT_TELEGRAM_API_KEY (получите у @BotFather)" echo " - TONCENTER_API_KEY (если используете TON mainnet)" echo "" echo "🔒 Сгенерированные секретные ключи:" echo " - SECRET_KEY: $SECRET_KEY" echo " - JWT_SECRET_KEY: $JWT_SECRET_KEY" echo " - POSTGRES_PASSWORD: $POSTGRES_PASSWORD" echo ""