In development

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.

01

Discover

Search one catalog that combines your library and global music metadata, ranked by local recommendations.

02

Preview

Listen to 30-second previews or permitted temporary playback before anything is acquired.

03

Request

Members spend a monthly allowance to request recordings the household does not own yet.

04

Approve

Parents review requests in a queue grouped by release, with quotes and candidate editions.

05

Acquire

Approved requests are purchased through a tracked workflow. Manual purchases are supported, so no store integration is required.

06

Ingest

Files arrive through a single pipeline (uploads, inbox folders, or imports) and are validated and matched to metadata.

07

Own

A validated file becomes a permanent, owned part of the household library.

08

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.

Current version0.1.0
Phasehardening & release
Deploymentself-hosted · docker compose
Availabilitynot yet public

Contact

Reach out or follow along

Questions, feedback, or interest in the project: any of these channels works.