Self-hosted audiobook and podcast server with streaming, multi-user progress sync, and podcast auto-download.
madeofpendletonwool/PinePods
Self-hosted podcast manager and player written in Rust, with web, desktop, mobile and CLI clients sharing one server.
Open-source alternative to:Pocket Casts
Overcast
- Stars
- 1,048
- Forks
- 80
- Open issues
- 116
- Last commit
- 3 days ago
What is it?
PinePods is a self-hosted podcast management system. You run one server with PostgreSQL or MySQL/MariaDB, and every household member signs in to their own account. Subscriptions, listening history, queues, downloads and settings are stored in your database, so they stay in sync across devices.
The project offers audio and video podcast playback, variable speed, chapters, transcripts, per-podcast auto-download, smart and manual playlists, and favorites. Search covers Podcast Index, iTunes and YouTube, plus your own library. A built-in gpodder-compatible sync server lets apps such as AntennaPod keep working alongside it. OIDC/SSO and TOTP-based MFA are supported.
Clients include a web interface served by the server, native Linux, Windows and macOS apps, iOS and Android apps with CarPlay and Android Auto support, and the Firewood terminal client. A Helm chart is provided for Kubernetes, and ARM devices such as 64-bit Raspberry Pis are supported.
Key features
- 01Plays audio and video podcasts with variable speed, chapters and transcripts.
- 02Stores subscriptions, history and queues per user on your own database.
- 03Searches Podcast Index, iTunes and YouTube, as well as your own library.
- 04Includes a gpodder-compatible sync server for existing podcast apps.
- 05Supports OIDC/SSO sign-in and TOTP-based MFA.
- 06Provides web, desktop, mobile and terminal clients.
Use cases
- Running a shared podcast server for a family, with separate libraries for each member.
- Keeping your listening data on your own hardware instead of a commercial service.
- Listening to podcasts in the car via CarPlay or Android Auto from a self-hosted server.
- Hosting it on a Raspberry Pi or Kubernetes cluster at home.
Quick start
- 1
Create a docker-compose.yml with PostgreSQL, Valkey and PinePods services
- 2
Start the services in the background
sudo docker compose up -d - 3
Open http://localhost:8040 and create the first admin account
Things to know
- The server needs PostgreSQL or MySQL/MariaDB plus a Valkey or Redis server, so setup involves several services.
- Early setup is more involved than a single app, and some Postgres 17 to 18 upgrades require a manual, one-way migration.
In collections
Topics
FAQ
- What is PinePods?
- Self-hosted podcast manager and player written in Rust, with web, desktop, mobile and CLI clients sharing one server. PinePods is a self-hosted podcast management system. You run one server with PostgreSQL or MySQL/MariaDB, and every household member signs in to their own account. Subscriptions, listening history, queues, downloads and settings are stored in your database, so they stay in sync across devices.
- Is PinePods free to use? What license does it have?
- PinePods is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is PinePods still maintained?
- Actively maintained. The last commit to PinePods was on Nov 4, 2026.
- What can I use PinePods for?
- Running a shared podcast server for a family, with separate libraries for each member. Keeping your listening data on your own hardware instead of a commercial service. Listening to podcasts in the car via CarPlay or Android Auto from a self-hosted server. Hosting it on a Raspberry Pi or Kubernetes cluster at home.
- How do I install PinePods?
- Create a docker-compose.yml with PostgreSQL, Valkey and PinePods services Start the services in the background: sudo docker compose up -d Open http://localhost:8040 and create the first admin account
- Where can I get PinePods?
- The source code and installation instructions are on GitHub: https://github.com/madeofpendletonwool/PinePods
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted podcast manager written in Rust with a React web UI, offering downloads, online listening and a GPodder sync integration.
Self-hosted media server for movies, series and anime, an alternative to Jellyfin and Plex that needs little manual setup.
A free, open source statistics app for Jellyfin that tracks sessions, watch history, and per-user and per-library activity.
An AI-assisted novel writing app that helps authors generate outlines, characters, worldbuilding and chapters, self-hosted with FastAPI, React and PostgreSQL.
A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server.