Skip to content
own-audioPublic

About

Self-hosted server for a family's audiobooks, podcasts and music. One library, a web console and an OpenSubsonic API. Rust + PostgreSQL, AGPL-3.0.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

239 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

own.audio

own.audio server

A self-hosted server for a family's audiobooks, podcasts and music — one library, one server, a web console and an OpenSubsonic API, with native apps for Apple devices, Android and Windows in development. Rust and PostgreSQL. Free software under the GNU Affero General Public License, version 3 or later.

Demo Docker Hub Licence

Status: pre-release. This is the codebase behind the hosted service at own.audio, with the hosted-only parts left out. Alpha releases are tagged and published as images for amd64 and arm64 (see CHANGELOG.md); some features below are still being built and are marked as such. The plan, the scope and the API policy are the place to start:

Who it is for

One install serves one family, as many people as it has, on a home server, a NAS or a small VPS. It is built for big collections — a data-hoarder household with hundreds of thousands of songs and a thousand audiobooks — and aims for a smaller footprint than running Navidrome and Audiobookshelf side by side. The server process needs about 20 MiB at rest. How far the code is from that target, and what is left to do, is in docs/CAPACITY.md and docs/RAM_USAGE.md.

What it does

  • Audiobooks: upload or index in place, multi-file books, authors, series, collections, bookmarks, progress that follows you between devices.
  • Podcasts: subscribe, refresh, download on the server, transcripts where the feed has them.
  • Music: tags-based library, albums, artists and genres, playlists, smart playlists, lyrics, stars and ratings, duplicate detection; an OpenSubsonic API so your favourite music app works too. Identify tracks and albums against MusicBrainz.
  • Family: one server, several people. Private by default, shared when you say so; roles, parental controls per member, join by link or QR code.
  • Your files stay yours: point the server at the music and audiobook folders you already have on a disk or NAS; it indexes them read-only and never writes there. Uploads are plain files on the server's own disk, or in any S3-compatible bucket if you prefer.
  • Playback everywhere: progress, bookmarks and the play queue sync across the web console and the apps; a 30-day trash catches mistakes.
  • Statistics: listening history per member and a yearly recap.
  • Nothing phones home. No telemetry, no update checks, no accounts anywhere but on your server. It reaches out only for what you use: the podcast feeds you subscribe to, Apple's podcast directory when you search for a show (ITUNES__ENABLED=false), musicbrainz.org and the Cover Art Archive when you press identify (MUSICBRAINZ__ENABLED=false), and Wikimedia Commons for an artist's photo the first time it is shown.

Optional, off until you configure them: sign-in with Google, Apple or Microsoft; book identification through Google Books; invite mail over SMTP. Podcast search goes to Apple's public directory; categories and similar shows need a catalogue this edition does not have yet.

Two editions, one API

The hosted service at own.audio runs this same code plus a private layer. A client cannot tell them apart and does not need to: it asks the server what it offers.

This server own.audio hosted
Run it on your own hardware yes —
Audiobooks, podcasts, music, family sharing, web console, OpenSubsonic yes yes
Local storage yes —
Read-only library folders yes —
Sign-in providers optional, you configure yes
SMTP mail optional yes
Music identify public MusicBrainz, on by default yes
Narrate a book into an audiobook, translate a podcast episode — yes, metered
Storage billing, payments — yes

Try it first

A public demo of exactly this edition runs at https://demo.own.audio: sign in as guest@demo.own.audio with the password own-audio-demo. It holds four public-domain LibriVox audiobooks, 38 Creative Commons songs, three Creative Commons podcasts and a year of the guest's listening, so the statistics, the yearly recap and the smart playlists have something to show. It resets every night, so change whatever you like.

Running it

git clone https://github.com/own-audio/server.git && cd server
cp .env.example .env            # set POSTGRES_PASSWORD and SESSION_SECRET
docker compose pull             # the published pre-release image, amd64 or arm64
docker compose up -d            # PostgreSQL 16 and the server; media on a local volume

Then open http://localhost:8080 and create the first admin. The image is ghcr.io/own-audio/server (also kornelko2/own-audio-server on Docker Hub); amd64 and arm64. INSTALL.md has the details, and docs/RASPBERRY_PI.md the Raspberry Pi version.

Clients

The native apps live in their own repositories and are not part of this one. They are in development and not released yet. They are built to work against this server and the hosted service alike. Today, any OpenSubsonic client works with the music library, and the web console covers everything else.

Project

This is one person's project, built first for one family and published so that others can run it too. Issues are welcome and read. Pull requests will be accepted once the contributor agreement is in place; until then they are not merged, for the reasons in docs/LICENSING.md. Releases happen when they are ready. There is no SLA and no roadmap promise beyond what the plan says.

Security problems: please report them privately, see SECURITY.md. How to report a bug or work on the code: CONTRIBUTING.md. What the hosted edition adds: docs/EDITIONS.md.

Licence

AGPL-3.0-or-later. You may run, study, change and share this server, commercially included. If you offer a modified version to others over a network, you must offer them your changes under the same licence.

The own.audio name and mark are trademarks and are not covered by the licence. Unmodified builds may show them; a fork must use its own — see TRADEMARK.md and brand/.

About

Self-hosted server for a family's audiobooks, podcasts and music. One library, a web console and an OpenSubsonic API. Rust + PostgreSQL, AGPL-3.0.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages