For the last 6 months or so I’ve been working on Pinepods. I have never been able to find the perfect self-hosted podcast app that I wanted to use. podgrab’s player is rather lackluster and misses a lot of features that I would like.
With Pinepods you can play, download, and keep track of podcasts you enjoy. It allows for searching new podcasts using The Podcast Index or Itunes and provides a modern looking UI to browse through shows and episodes. In addition, Pinepods provides simple user managment and can be used by multiple users at once using a browser or app version. Everything is saved into a Mysql database including user settings, podcasts and episodes. It’s fully self-hosted, and I provide an option to use a hosted API or you can also get one from the podcast API and use your own. There’s even many different themes to choose from! Everything is fully dockerized and I provide a simple guide found below explaining how to install Pinepods on your own system.
There’s also lots of modern features like MFA, self-service password resets, and some Podcast 2.0 functionality (more to come)
In addition to all that, I’ve built a client version of the app that can connect via API to your home server over something like a reverse proxy or tailscale.
Pinepods just had it’s first beta release with all the basic functionality implemented. Currently, you’re likely to experience issues, but I certainly invite pull requests or opening issues if you have the time. You can also get setup assistance on the discord server. I invite you to try it out!
Check out the official site here:
Github here:
https://github.com/madeofpendletonwool/PinePods
Getting started instructions:
someone was just asking for something like this the other day
It was me. Guess what I’ll be doing today.
@manwichmakesameal Who says “manifesting reality” is loony toones horse shit?
What nobody ever told Oprah is that it only works in the FLOSS world. 🪄
Documentation is well done. Good stuff. I use podgrab for some tests and while I like it for the simplicity, I had to move to Audiobookshelf as it combines audiobooks and podcasts neatly. I’ll check this out as it looks quite thought out (and sleek too).
Much appreciated! Let me know if you come across any problems. Squashing lots of bugs currently!
Nice! I’ve been using audiobookshelf for podcasts becaus podgrab was so broken for me. this looks really nice so far! Excellent work and thanks for sharing. Btw have you heard of snipd? I ended up switching to their platform just for the utility of being able to save sections of the podcast I find interesting.
Thanks for the suggestion on snipd. I’ll check it out. Could be some good inspiration for features to implement.
Looks intresting, podgrab is dead and podfetch is not what I was looking for. 2 questions:
-
1 Can this used with postgres instead of mysql? It is a personal preference
-
2 How does it store podcasts? I don’t see a volume for pinepod. I have a folder structure like this:
-podcastname 1 -episodename1 -episodename2 -podcastname 2 -episodename1 -episodename2
Thanks for sharing this with us ☺️
Hey! Thanks for checking it out.
-
Not yet, but postgres support is coming in the very short term. I have been working to get it working and will have an update soon with support for it. I’ll actually be on vacation for the next week, but I would anticipate 2 weeks before I have postgres working and a new version posted.
-
Excellent point. I had forgotten to add that to the compose file. When you download locally it adds files to /opt/pypods/downloads inside the container. So you could mount:
volumes:
- /home/user/pinepods/downloads:/opt/pypods/downloads
I’ll add that to the compose file. Thanks for pointing that out.
As for layout, currently server downloads put them all in one downloads folder mass, however, on the client when downloaded locally it lays them out with podcastname, episodename structure. I’ll get the server portion of that implemented as well.
Thank you for the answers ☺️
I am looking forward 🌞
-
-
Hell yeah, this would be great to have on my pc and iOS device!
Look forwards to trying this on my phone 👌
How does this compare to other offerings like Audiobookshelf and AntennaPod with gpodder?
How do I see it before I decide whether to install it? The tutorial says to go to the website and make an account to try it out… But the website most prominently has a link to that tutorial. I don’t see any way to make an account or even a login form at all on the website. Did something not get deployed when you went live?
Correct, I’m working on getting the example server up. It’ll be up shortly and I’ll update the link. Apologies for that
It’s now up at https://try.pinepods.online.
Feel free to try it out. Currently updating documentation with this url
I can’t seem to log in after creating a user account
It looks like Pinepods does not support the GPodder API as I cannot find any mention of it on the links in the post. I assume this is intentional and there are no plans to support this in the future. Is that accurate? Supporting the GPodder API would help integrate Pinepods with some existing podcast clients and/or other podcast services instead of waiting for Pinepods to rollout features found on existing services.
Regardless, Pinepods looks nice! Hopefully it will continue to grow - I’m surprised at the lack of (modern, functional, and fully-featured) self-hosted, privacy focused options for podcasts.
Don’t the majority of podcast clients utilize the podcast RSS feed directly? Why would adding support for a specific app’s API make it easier to integrate with existing clients? Wouldn’t republishing a new RSS feed that points to self hosted media make it work immediately with the majority of clients instead of just one or ones that support the gpodder API? I didn’t even see any API documentation in my admittedly shallow search of their site
The gpodder API is for syncing subscriptions, queues, episodes listened to, and where you are in a current episode. The podcasts themselves are still from the RSS feeds. The point of the gpodder API is that if you make a podcast app that supports it, users of the gpodder desktop app, the AntennaPod android app, and others can keep the apps they like for the devices and instances they like to use them for while adding your new app in for the instances where it makes more sense, all while having their experience synced across apps and devices.
Ah makes sense. Thanks!
I’m desperately hoping some self hosted solution will implement multiple prioritied playlists (e.g all podcasts from feed X go to the priority 1 playlist, the main queue plays all priority 1 playlist entries before automatically proceeding to the next highest priority playlist etc).
I know it’s a long shot, but if you find any time in your already impressive roadmap it will be an instant conversion for myself and hopefully a few other weirdos.
I mean, sure, that wouldn’t be too hard at all to implement. Is there any other app that you use that already has this implemented? It would be useful to have an example to get the behavior of it right.
Yes, PodcastRepublic has a nearly perfect implementation. I have gotten so reliant on it I feel stuck here :)
Thank you for considering!