Major additions: - Web-based setup wizard (setup.php, setup_wizard.php, setup-wizard.js) - Production Docker configuration (docker-compose.prod.yml, .env.production) - Database initialization SQL files (deploy/init_settings.sql) - Template builder system with drag-and-drop UI - Advanced features (OAuth, CDN, enhanced analytics, monetization) - Comprehensive documentation (deployment guides, quick start, feature docs) - Design system with accessibility and responsive layout - Deployment automation scripts (deploy.ps1, generate-secrets.ps1) Setup wizard allows customization of: - Platform name and branding - Domain configuration - Membership tiers and pricing - Admin credentials - Feature toggles Database includes 270+ tables for complete video streaming platform with advanced features for analytics, moderation, template building, and monetization. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
116 lines
3.1 KiB
Plaintext
116 lines
3.1 KiB
Plaintext
# ============================================================================
|
|
# EasyStream - Production Environment Configuration
|
|
# ============================================================================
|
|
# SECURITY WARNING: This file contains sensitive credentials
|
|
# - Never commit this file to version control
|
|
# - Use Docker secrets or environment variable injection in production
|
|
# - Generate all secrets using: openssl rand -hex 32
|
|
# ============================================================================
|
|
|
|
# Database Configuration
|
|
# IMPORTANT: Change these from defaults!
|
|
DB_HOST=db
|
|
DB_NAME=easystream
|
|
DB_USER=easystream
|
|
DB_PASS=CHANGE_THIS_DB_PASSWORD_IN_PRODUCTION
|
|
|
|
# Redis Configuration
|
|
REDIS_HOST=redis
|
|
REDIS_PORT=6379
|
|
REDIS_DB=0
|
|
REDIS_PASSWORD=
|
|
|
|
# Application Configuration
|
|
MAIN_URL=https://your-domain.com
|
|
DEBUG=false
|
|
APP_ENV=production
|
|
|
|
# Security Keys
|
|
# Generate with: openssl rand -hex 32
|
|
# Or: docker run --rm alpine sh -c "head -c 32 /dev/urandom | base64"
|
|
API_KEY=GENERATE_SECURE_API_KEY_HERE
|
|
JWT_SECRET=GENERATE_SECURE_JWT_SECRET_HERE
|
|
ENCRYPTION_KEY=GENERATE_SECURE_ENCRYPTION_KEY_HERE
|
|
|
|
# Session Security
|
|
SESSION_SECURE=true
|
|
SESSION_HTTPONLY=true
|
|
SESSION_SAMESITE=Strict
|
|
SESSION_LIFETIME=3600
|
|
|
|
# CORS Settings
|
|
CORS_ORIGIN=https://your-domain.com
|
|
CORS_CREDENTIALS=true
|
|
|
|
# Email Configuration (for production notifications)
|
|
MAIL_DRIVER=smtp
|
|
MAIL_HOST=smtp.your-provider.com
|
|
MAIL_PORT=587
|
|
MAIL_USERNAME=noreply@your-domain.com
|
|
MAIL_PASSWORD=your-email-password
|
|
MAIL_ENCRYPTION=tls
|
|
MAIL_FROM_ADDRESS=noreply@your-domain.com
|
|
MAIL_FROM_NAME="EasyStream"
|
|
|
|
# Storage Configuration
|
|
STORAGE_DRIVER=s3
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_DEFAULT_REGION=us-east-1
|
|
AWS_BUCKET=easystream-media
|
|
|
|
# CDN Configuration
|
|
CDN_ENABLED=true
|
|
CDN_URL=https://cdn.your-domain.com
|
|
|
|
# Streaming Configuration
|
|
RTMP_URL=rtmp://your-domain.com:1935/live
|
|
HLS_URL=https://your-domain.com/hls
|
|
|
|
# Analytics
|
|
ANALYTICS_ENABLED=true
|
|
GOOGLE_ANALYTICS_ID=
|
|
|
|
# Rate Limiting
|
|
RATE_LIMIT_ENABLED=true
|
|
RATE_LIMIT_MAX_REQUESTS=100
|
|
RATE_LIMIT_WINDOW=60
|
|
|
|
# Queue Configuration
|
|
QUEUE_DRIVER=redis
|
|
WORKER_QUEUES=default,video,email,notifications
|
|
WORKER_SLEEP=3
|
|
WORKER_TIMEOUT=300
|
|
|
|
# Cron Configuration
|
|
CRON_BASE_URL=https://your-domain.com
|
|
CRON_SSK=GENERATE_SECURE_CRON_SECRET_HERE
|
|
VOD_REC_PATH=/mnt/rec
|
|
|
|
# Monitoring & Logging
|
|
LOG_LEVEL=warning
|
|
LOG_DRIVER=file
|
|
SENTRY_DSN=
|
|
|
|
# Feature Flags
|
|
FEATURE_REGISTRATION=true
|
|
FEATURE_SOCIAL_LOGIN=true
|
|
FEATURE_MONETIZATION=true
|
|
FEATURE_LIVE_STREAMING=true
|
|
FEATURE_TEMPLATE_BUILDER=true
|
|
|
|
# ============================================================================
|
|
# PRODUCTION DEPLOYMENT CHECKLIST:
|
|
# ============================================================================
|
|
# [ ] Changed all default passwords
|
|
# [ ] Generated secure random keys (API_KEY, JWT_SECRET, ENCRYPTION_KEY)
|
|
# [ ] Configured production database credentials
|
|
# [ ] Set up SSL/TLS certificates
|
|
# [ ] Configured email server
|
|
# [ ] Set up CDN and storage (S3/CloudFront)
|
|
# [ ] Enabled monitoring and logging
|
|
# [ ] Configured backups
|
|
# [ ] Set proper file permissions (chmod 600 .env.production)
|
|
# [ ] Tested all services
|
|
# ============================================================================
|