Open source · Self-hosted · No lock-in

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.

terminal
$ git clone github.com/tape-deck-xyz/boombox
$ cp .env.sample .env
$ deno task start

Features

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.

DIY

Your S3 bucket

Music lives in your AWS S3 bucket. Your files, your region, your bucket policies. No proprietary formats.

Easy

Drag & drop upload

Upload multiple files at once. Automatic ID3 tag extraction pulls artist, album, title, track number, and cover art.

Easy

Auto-organize

Tracks are automatically organized as Artist, Album, and Tracks from ID3 metadata. Override anything that's wrong before upload.

DIY

No database needed

S3 is your source of truth. No separate database or cache service to manage. One process, one config file.

Control

Admin-only uploads

Basic Auth protects admin actions. Public users can browse and play. You control access with a single .env file.

DIY

Open source

Fork it, read it, modify it. Web Components and plain CSS make the UI easy to understand and customize.

Control

Deno-only runtime

No Node.js required. Runs on Deno with a minimal footprint. Deploy anywhere: VPS, Raspberry Pi, containers.

Easy

Media Session API

Lock screen controls, notification playback, and system media integration work out of the box.

Easy

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.

01

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 creds
02

Upload 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.

03

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

FeatureDIYEasyControl
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.

or clone directly
View on GitHub