Your music.
Your storage.
Your rules.
BoomBox is a self-hosted music player powered by Deno and backed by your own S3 bucket. No database. No subscriptions. No vendor lock-in. Just drag, drop, and play.
$ git clone github.com/tape-deck-xyz/boombox
$ cp .env.sample .env
$ deno task startFeatures
Everything you need. Nothing you don't.
BoomBox is intentionally minimal. Upload your music, browse by artist and album, and hit play. Self-host it on anything that runs Deno.
Your S3 bucket
Music lives in your AWS S3 bucket. Your files, your region, your bucket policies. No proprietary formats.
Drag & drop upload
Upload multiple files at once. Automatic ID3 tag extraction pulls artist, album, title, track number, and cover art.
Auto-organize
Tracks are automatically organized as Artist, Album, and Tracks from ID3 metadata. Override anything that's wrong before upload.
No database needed
S3 is your source of truth. No separate database or cache service to manage. One process, one config file.
Admin-only uploads
Basic Auth protects admin actions. Public users can browse and play. You control access with a single .env file.
Open source
Fork it, read it, modify it. Web Components and plain CSS make the UI easy to understand and customize.
Deno-only runtime
No Node.js required. Runs on Deno with a minimal footprint. Deploy anywhere: VPS, Raspberry Pi, containers.
Media Session API
Lock screen controls, notification playback, and system media integration work out of the box.
OG meta tags
Share album pages with proper titles, descriptions, and cover images. Social previews look great by default.
How it works
Three steps. Seriously.
If you can edit a text file and run a terminal command, you can set up BoomBox.
Clone & configure
Clone the repo and copy .env.sample to .env. Set your AWS S3 credentials and choose an admin username and password. That's the entire config.
git clone github.com/tape-deck-xyz/boombox
cp .env.sample .env
# edit .env with your S3 + admin credsUpload your music
Log in as admin and drag-and-drop your MP3 files. BoomBox reads ID3 tags automatically — artist, album, title, track number, and cover art. Fix anything that's wrong before confirming.
Hit play
Browse by artist and album. Click a track to play. The playbar gives you play/pause, next/previous, and a progress scrubber. Media Session API means it works from your lock screen too.
At a glance
Built for people who care about ownership
| Feature | DIY | Easy | Control |
|---|---|---|---|
| Self-hosted | |||
| Your S3 bucket | |||
| Deno-only runtime | |||
| One-file config | |||
| Drag & drop upload | |||
| Auto ID3 extraction | |||
| Metadata override | |||
| No database | |||
| Basic Auth admin | |||
| No vendor lock-in | |||
| Open source |
Deploy
One click. Your music server.
Deploy BoomBox wherever you want. Pick your platform and you'll be streaming in minutes.