Users by Plan

Recent Activity

All Users

ID Name Email Plan Status Admin Joined Actions

VST Plugins

ID Plugin Name Format Platform Owner Scanned Loaded Uploaded
Docker Containers
Server Metrics

Active Jobs

Task ID Type User Status Started

Auto-Updater

Pull latest code from GitHub and rebuild services

Current Branch
--
Current Commit
--
Last Updated
--
Updates Available
--

How Auto-Updater Works

1. Check for Updates - Fetches from GitHub remote and compares commits
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.

Open Guide

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

Support Portal
Submit and track tickets
Open Support Portal →

Quick Support Form