Users by Plan
Recent Activity
All Users
| ID | Name | Plan | Status | Admin | Joined | Actions |
|---|
VST Plugins
| ID | Plugin Name | Format | Platform | Owner | Scanned | Loaded | Uploaded |
|---|
Active Jobs
| Task ID | Type | User | Status | Started |
|---|
Auto-Updater
Pull latest code from GitHub and rebuild services
How Auto-Updater Works
2. Deploy Update - Pulls latest code, rebuilds Docker containers (backend + celery worker)
3. Health Verification - Confirms the API is responding after restart
Note: The update process takes 30-60 seconds. The admin panel may briefly disconnect during the backend restart.
EscenarioAI Platform Documentation
Complete technical reference and administrator guide
Full Platform Installation Guide
Complete 14-section deployment manual with server requirements, Docker setup, database schema, API reference, security, and white-label licensing instructions.
1. Technology Stack
Frontend (Studio DAW):
- React 19 + Zustand 5 (state management) + Vite 8 (build tool)
- Web Audio API + AudioWorklet (real-time DSP processing)
- HTML5 Canvas (waveform visualization)
- WebRTC (real-time collaboration, Enterprise tier)
- OfflineAudioContext (client-side WAV export)
Frontend (Editor):
- Vanilla JavaScript (all.build.js minified bundle)
- Web Worker (audioWorker.js) for isolated clock processing
- DynamicsCompressor node for master limiter
Backend API:
- Python 3.12 + FastAPI 0.115 (async REST API)
- SQLAlchemy 2.0 + asyncpg (PostgreSQL async ORM)
- Celery 5.4 + Redis 7 (task queue for GPU jobs)
- python-jose (JWT authentication)
- Passlib + bcrypt (password hashing)
- OpenAI GPT-4o-mini (AI parameter mapping for VST)
- Pedalboard (Spotify audio processing library)
AI/GPU Pipeline:
- Modal Labs (primary GPU - serverless A10G, auto-scaling)
- RunPod (fallback GPU - persistent instances)
- Demucs v4 / HTDemucs (4-stem separation: vocals, drums, bass, melody)
- Spotify Basic-Pitch (polyphonic audio-to-MIDI)
- Meta AudioCraft / AudioGen (text-to-instrument, text-to-drums)
- ONNX Runtime GPU (optimized model inference)
- RVC v2 (AI voice cloning)
VST Plugin Rack:
- Carla (headless plugin host inside Docker)
- Wine64 (Windows VST translation layer on Linux)
- Pedalboard (native Linux VST3/VST2 loading)
- AI Parameter Mapper (GPT-4o-mini scans and maps plugin knobs)
2. Infrastructure & Deployment
VPS Server: 185.211.6.131 (Ubuntu 24.04)
Web Server: Nginx 1.24 (reverse proxy + SSL termination)
SSL: Let's Encrypt via Certbot (auto-renewal)
Containerization: Docker 29.1 + Docker Compose 2.40
Database: PostgreSQL 16 (Alpine, inside Docker)
Cache/Queue: Redis 7 (Alpine, inside Docker)
Landing Page: cPanel server at 148.113.208.46
Storage: Cloudflare R2 (S3-compatible object storage)
Source Control: GitHub (private repo: escenario-backend)
Docker Services:
- backend - FastAPI app (Uvicorn, 4 workers)
- celery-worker - Background task processor
- db - PostgreSQL 16
- redis - Redis 7 (broker + cache)
- vst-host - Carla + Wine64 plugin rack
3. Auto-Updater
The Auto-Updater (under Maintenance) enables one-click deployments:
How it works:
1. Click "Check for Updates" to fetch from GitHub and see pending commits
2. Click "Deploy Update" to pull code and rebuild Docker containers
3. System verifies health after restart (30-60 second process)
What gets updated:
- Backend API code (FastAPI routes, services, models)
- Celery worker (task definitions, GPU dispatch logic)
- Docker image (requirements, dependencies)
What does NOT auto-update:
- Frontend (studio.escenarioai.com) - requires separate Vite build + deploy
- Editor (editor.escenarioai.com) - static JS files, manual upload
- Landing page (escenarioai.com) - separate cPanel server
- Nginx configs - manual edit required
- Database schema - migrations run on container start (create_all)
4. User Management
Navigate to Users to manage all accounts:
- Create users: Click "+ Create User" to add Standard or Enterprise accounts
- Edit: Change plan tier, toggle admin access, activate/deactivate
- Search: Filter by name or email
- Deactivate: Soft-disable without deleting data
Plan Tiers:
- Standard: Basic stem separation, MP3 downloads, remixer
- Pro Creator: + MIDI tracking, WAV downloads, mastering macros, stereo imaging
- Enterprise Pro: + Unlimited AI generators, VST Rack, WebRTC, priority GPU
5. Installation / Fresh Deploy
# Clone repository
git clone https://github.com/anirudhatalmale6-alt/escenario-backend.git
cd escenario-backend
# Set environment variables (create .env or use docker-compose env)
# Required: SECRET_KEY, OPENAI_API_KEY, MODAL_WEBHOOK_URL
# Build and start all services
docker compose up -d --build
# Verify
curl http://localhost:8000/health
# Setup Nginx (copy site config)
cp nginx/studio.conf /etc/nginx/sites-enabled/
certbot --nginx -d studio.escenarioai.com
systemctl reload nginx
# Set admin user
docker exec backend-db-1 psql -U escenario -d escenario_db \
-c "UPDATE users SET is_admin=TRUE WHERE email='admin@escenarioai.com';"
6. Platform URLs
Landing Page: escenarioai.com (cPanel: 148.113.208.46)
Studio (DAW): studio.escenarioai.com
Editor: editor.escenarioai.com
Admin Panel: admin.escenarioai.com
Support Portal: support.mediaxtreme.com
API Docs: studio.escenarioai.com/api/v1/docs (Swagger)
7. Security
- Admin endpoints require is_admin = true on the user record
- JWT Bearer tokens with HS256 signing (24-hour expiry)
- Passwords hashed with bcrypt (72-byte limit, 12 salt rounds)
- CORS restricted to authorized domains only
- Nginx security headers: HSTS, X-Frame-Options, CSP, XSS Protection
- Docker network isolation (services communicate internally)
- SSL/TLS via Let's Encrypt with auto-renewal
Support Center
Submit a support ticket or reach the mediaXtreme team