Music your household owns
Owana is a self-hosted music platform for one household. It combines music discovery with permanent ownership of purchased files, and it runs on your own hardware.
What Owana is
A self-hosted platform for one household
The project follows from three basic decisions.
Self-hosted
Owana runs as a Docker Compose stack on hardware you control: web app, server, worker, and database. The library and all listening data stay on your own machine.
One household
One server serves one household. There is no hosted service and no external account; the users are the people in your home.
Permanent files
Music is acquired and ingested as permanent files, with the source audio preserved byte-for-byte. An owned recording stays playable without any subscription.
How it works
From discovery to ownership
Every piece of music in Owana follows the same lifecycle. Knowing about a recording does not imply owning it; ownership is a separate, tracked step.
Discover
Search one catalog that combines your library and global music metadata, ranked by local recommendations.
Preview
Listen to 30-second previews or permitted temporary playback before anything is acquired.
Request
Members spend a monthly allowance to request recordings the household does not own yet.
Approve
Parents review requests in a queue grouped by release, with quotes and candidate editions.
Acquire
Approved requests are purchased through a tracked workflow. Manual purchases are supported, so no store integration is required.
Ingest
Files arrive through a single pipeline (uploads, inbox folders, or imports) and are validated and matched to metadata.
Own
A validated file becomes a permanent, owned part of the household library.
Play
Play in the browser with device-local queues. Listening history feeds back into the recommendations.
Main functionality
What the platform does today
The main components, each one part of the lifecycle above.
Unified search
One search across the local library and the global catalog. Knowing about a recording never requires owning it.
Local recommendations
Computed on your own server from listening history, searches, previews, and requests. No external account is needed.
Previews & temporary play
30-second previews and best-effort external playback, always clearly separated from owned music. Nothing plays automatically.
Allowances
Each Member has a monthly request allowance. Requesting reserves against the cheapest eligible offer, in your currency.
Approval queue
Parents approve or decline with quotes and substitutions at hand. A remaster can fulfill a request; a live version cannot.
One ingestion pipeline
Uploads, filesystem inbox, and read-only library imports all converge in a single validated pipeline, with quarantine for failures.
Also built in: English and German interface (du/dein), keyboard usability, WCAG 2.2 AA accessibility targets, and a documented OpenAPI contract between server and clients.
Who does what
Three roles inside the household
Admin
Operates the technical side: providers, storage, and user management.
Parent
Manages allowances, approves requests, and sets content policy.
Member
The everyday role: listens, discovers, and requests. Members never check out directly.
Project status
Where things stand
Owana is under active development and not yet open for general use. The core lifecycle, from discovery to owned playback, is implemented as working vertical slices, and the project is currently in its hardening and release phase.
This page will be updated as the project matures and opens to a wider audience. If you want to follow along or have a question, the channels below reach the developer directly.
Contact
Reach out or follow along
Questions, feedback, or interest in the project: any of these channels works.