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:
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.
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.
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?
It’s now up at https://try.pinepods.online.
Feel free to try it out. Currently updating documentation with this url
someone was just asking for something like this the other day
@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).