Self hosting podcasts
I have been a faithful user of Pocketcasts for years. In many ways, it allowed me to discover and then listen to podcasts that I enjoy today. After a time, Pocketcasts were accquired by Automattic the company that is also behind WordPress. As seen in the news there are issues with the founder of WordPress and his stance on what opensource is.
The dispute got to the point wondering if there was a better way to get and synchronize podcasts to my devices. Pocketcasts has a web interface that keeps it in sync with the Android or iOS app which makes for a nice experience to pick up where you left off and with podcasts that have refreshed in the "other" interface. I wanted something at least close to that but something that I could self-host give that the data is low-value from a backup point of view, as in I could easily get what I listen to back in line in another platform if I chose and sync between devices is a nice to have not a must.
With that in mind I started searching around for a solutions. The best opensource Android podcast app is AntennaPod in my opinion. It is a feature-rich client that includes sync'ing using the gPodder protocol. While gPodder.net the service is constantly slammed with traffic, there are some opensource implementations of the protocol that you can self-host:
While all of these appear to be good solutions if you are patient, I'm lazy so I looked for the quickest thing with a possible Docker installation option. oPodSync fit those lazy person requirements. So with a single command:
sudo docker run -d --name gpodder --restart unless-stopped -v /path/to/data:/var/www/server/data -p 8088:8088 ganeshlab/opodsync
I had a running sync service (see the docs at https://github.com/kd2org/opodsync?tab=readme-ov-file) for the simple setup of an account.
After I had setup an account, I started AntennaPod and setup a custom sever for synchronization and let AntennaPod sync all of podcast subscriptions and positions in those podcasts to the server. Progress!
Now onto the desktop. I'm a KDE user so I thought there must be some app that starts with a "K" that I could use for podcasts and has the gPodder protocol built in. Well Kasts is that client. I configured Kasts to talk to my oPodSync server and both podcasts and positions in the podcasts sync'ed over. Success! Mission accomplished! Because I use Tailscale on all my devices, none of this is exposed on the open Internet so there is a veneer of security on this solution too!
Problems?
So it seems like AntennaPod doesn't always get the position data for a podcast from the server. I should Google that but I haven't. Kasts sometimes crashes. I restart it and let the automatic bug reporting do it's thing. I have to remember to start Tailscale on the phone to sync the data from the desktop at the start and end of a work day. I can't leave Tailscale running on my OnePlus N30 or the battery drains faster than I want it to.
Happy?
Yes! I feel like I did something good here. AntennaPod is a great client for Android and Kasts does everything it should on the desktop. The data is self hosted, the docker container just seems to run without much fuss (I have yet to restart it), and I'm listening to podcasts when I want to.