Hey all,
I’ve spent the majority of the last year hammering away at Pinepods. It’s a Rust based podcast management system that manages podcasts with multi-user support and relies on a central database with clients to connect to it. It’s complete with a browser based client and your podcasts and settings follow you from device to device due to everything being stored on the server. AntennaPod is great and all but sometimes I want to listen to podcasts from my laptop. Here’s a great solution to that problem. There’s also a client edition that you can download and install.
Search both The Podcast Index or Itunes to browse through shows and episodes, Import or export opmls of your podcasts, utilize the standard of podcasting 2.0. It’s all fully dockerized and you can have an instance of your own up and running in 5 mins!
If you’re on the fence you can try it out without installing the server too! Check the website for more info!
There’s a lot more to come down the pipeline as well, such as a lightweight client to stream episodes to and alternative database support. Now is the perfect time to check it out and enjoy continued feature updates! Feel free to open issues or PRs if you experience any problems. Or drop a line on the discord. I’m happy to help!
Official website:
Github:
https://github.com/madeofpendletonwool/PinePods
Discord:
I realize you may already be locked-in on the name, but you should probably be aware that Pine64 have an upcoming pair of ear buds called PinePods as well. So not just another project with the same name, but another FOSS-community project, to boot.
This seems like an awesome project though. As a fellow Rustacean, it excites me to see.
Ugh… It is unfortunate isn’t it… Here’s the history of the name.
I started development on Pinepods back when I was learning about python’s fastapi. It originally was built in pure python. And as you can probably imagine the UI was dog slow because python isn’t exactly fast. At that point it was called Pypods. Because python. I wanted to then change the name away from being a reference to a programming language. Only the nerdiest people would get that, plus I wanted it to have it’s own identity instead of being tied to a language. So I went with Pinepods, which itself is a reference to the pine snake (kept the snake thing despite moving away from python) and at that point I started adopting the forest theme. Which is why if you visit try.pinepods.online you’ll see rotating images of pine forests.
At this point, it’s been over a year and I’ve invested somewhat in the tree/forest idea. I would struggle to move away from it because I love the forest undertones.
Changing the name is feasible. And might be a good idea. It kinda stinks I’d need to change the domains along with it but I suppose it is what is there. The challenge that I struggle with is coming up with something that keeps the forest theming. I really like that aspect of it.
Isn’t the Pine64 product called the PineBuds? The case is nicked the Pinepod, but that’s not really the same.
Looks cool. Why discord and not matrix?
Entirely due to me trying to make getting help as accessible as possible. If there’s demand for a matrix server I’d be happy to start one up.
+1 for matrix
You could look at setting up a discord bridge on the matrix server to bridge messages between the two. Pine64 have had something like that for quite a while on their discord & matrix.
Also echoing what’s been said already, I did initially think this was some air pods style product from Pine64, as they prefix almost anything they make with Pine
I understand your reasoning. And I understand it for old projects, matrix wasn’t an option 5 or 10 years ago. Almost all modern public projects are on matrix nowadays. Someone said it already, there are also bridges and matrix doesn’t excludr anyone.
Honestly you guys have easily convinced me. I’d much prefer matrix personally anyway. I’ll get a matrix server up and running this weekend!
Cool! You don’t need a server specifically for that, a room is enough. Just create an account on a reliable server and create the room. Most big rooms are on matrix.org in my experience, unless it’s some of the big projects from mozilla, gnome or kde but even openstreetmap are on matrix.org
Matrix room is a go! I’ve got a badge created on the repo Readme to join so hopefully anyone interested in matrix will see that and join over discord. I’ll get a link added to the documentation site as well. Thanks for the tips!
That’s cool
This looks amazing, that you for this.
Suggestions:
Use the https://authjs.dev/ library to implement SSO for user management. This will automatically give the ability to use any login protocol any user could ever want.
I have numerous self hosted apps with multiple users, running them all through authentik is very important for users that are doing something similar.
Every homelabber will have a slightly different setup but the above library will essentially just support everything right away.
You will never need to worry about users requesting whatever protocol they are using because if you check the list of providers it’s basically everything.
Fantastic suggestion! I’ll add it to the short term roadmap. Alternative auth options like github among others was already on the roadmap but if I can just kill all the birds with one stone that’s great! Thank you for this.
Looks and sounds very promising! I’ve been looking for a self-hosted podcast server that I can use to sync podcasts and progress between multiple devices. Nextcloud Gpodder sync is already great, but there does not seem to be any iOS app that supports it. So I’m really looking forward to seeing more of your project!
The web version already works great. So that would work of course on an ios device. Otherwise, keep an eye out as an ios client proper is in the works. It uses tauri for building the clients and tauri has a release coming to add support for ios and Android apps.
“It’s a Rust based…” You son of a bitch, I’m in.
I mentioned that first for a reason 😁 I figured it’d be a selling point.
Good to see this works with antennapod, just need to get a gpodder thing setup in my unraid server and give this a go. Been using antennapod on my phone for the last several years but didn’t do backups and exports often enough and when my Samsung dropped and died I lost 8 months of data. This would make it a lot easier to also be able to stream on my desktop during work. Will be giving it a go here soon!
All the reasons you gave are all the reasons I took on this project for sure. Thanks for giving it a go! Let me know if you have any troubles with the setup.
Hey! Finally gave it a go this morning but ran into some headaches pointing to existing dockerized mysql and postgres containers on unraid. I reached out in discord this afternoon but setting up auth according to the docker-compose on the site and github I get lots of errors about missing tables or properties during the database initialization.
Hi there, I sent you a reply over on the discord post. Let’s continue the conversation there. Should be an easy enough fix. Thanks!
Sorry could you do a comparison to Audiobookshelf? It also has very reputable self hosting podcasting catching features
Audiobookshelf (which is a great project that I use personally for audio books) is focused very heavily on audio books. With features like libraries and all that. I don’t feel like it has every feature I’d want for managing podcasts. Especially when it comes to searching and syncing feeds to things like antennapod. This project focuses on being the best podcast managment server it can be. It makes browsing podcasts, feeds, and episodes a breeze. Adding podcast feeds is a search away and that’s all integrated right into the app. This app is also built in rust rather than javascript. Which some people really like.
Audiobookshelf is a phenomenonal piece of open source software and if it does everything you need it to I think that’s a great solution! If not, this software might be a good fit.
Appreciate it! I’ll have to give it a check!
Pinepods also supports podcast 2.0 podcast specifications and wiol be implenting more of it such as chapter support and timestamp support very soon. I don’t think Audiobookshelf does? Though I’m happy to be wrong about that as I don’t use Audiobookshelf for podcasts.
Don’t you have to download episodes to your server first in ABS? That makes it useless for me as a podcast app.
Oh yeah, I didn’t realize that. That’s a bummer. Pinepods can stream episodes whether you have the podcast added or not. You can search a podcast, open the feed and play the episodes without even adding the feed if you want. I tried to make that as robust as possible.
This looks amazing. I’m gonna wait for pgsql support, but you had me here: “Otherwise, if you sync using Nextcloud you can use the AntennaPods app and your podcasts will sync between Antennapod and Pinepods.”
Pgsql support is coming very soon. Keep an eye out for version 0.6. It’ll be in there. There’s a branch created where I’m already working on it!