Project library
Sort albums, EPs, and singles by progress, update time, title, or artist.
Studio is a private workspace for producers and artists to manage albums, track versions, notes, cover art, moodboards, metadata, and collaborator share links.
8 tracks • 31:42
Waveform player • queue • share access
Run Studio locally with the Vite frontend and Express API while you develop or test.
git clone https://github.com/ILostXD/Studio.git
cd Studio
npm install
npm run dev
http://localhost:5173. The API runs on http://localhost:3000.
Sort albums, EPs, and singles by progress, update time, title, or artist.
Upload WAV, MP3, and FLAC files, switch active versions, and keep revisions organized.
Track BPM, key, Camelot tags, LUFS, peaks, release dates, ratings, and todos.
Create view, listen, or edit links for collaborators without exposing your full library.
For a single-server local or VPS deployment, build the frontend and start Express.
npm install
npm run build:web
npm start
For Docker Compose deployments:
docker compose up -d --build
SERVER_SETUP.md.
| Variable | Default | Purpose |
|---|---|---|
PORT |
3000 |
HTTP port for the Express server. |
SESSION_SECRET |
studio-session-secret |
Cookie session signing secret. Change this in production. |
BCRYPT_COST |
12 |
Password hashing cost, supported from 8 to 14. |
DATA_DIR |
./data |
Database, audio, and cover file storage location. |
Studio stores runtime data in a JSON database and local file folders. Back up the data directory if you care about uploaded projects, tracks, covers, users, and metadata.
data/
db.json
files/
audio/
covers/
Run npm run build:web again, then restart the server or container.
Check that DATA_DIR exists and that the server can write to it.