Pinepods 0.5.0 - Great news for Podcast enjoyers and self hosted advocates. Self hosted podcast management with Nextcloud sync. All open sourced! (github.com)
from madeofpendletonwool@lemmy.world to selfhosted@lemmy.world on 22 Apr 11:12
https://lemmy.world/post/14567244

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:

www.pinepods.online

Github:

github.com/madeofpendletonwool/PinePods

Discord:

discord.com/invite/bKzHRa4GNc

#selfhosted

threaded - newest

tagginator@utter.online on 22 Apr 11:13 next collapse

New Lemmy Post: Pinepods 0.5.0 - Great news for Podcast enjoyers and self hosted advocates. Self hosted podcast management with Nextcloud sync. All open sourced! (https://lemmyverse.link/lemmy.world/post/14567244)
Tagging: #SelfHosted

(Replying in the OP of this thread (NOT THIS BOT!) will appear as a comment in the lemmy discussion.)

I am a FOSS bot. Check my README: https://github.com/db0/lemmy-tagginator/blob/main/README.md

barbara@lemmy.ml on 22 Apr 12:12 next collapse

Looks cool. Why discord and not matrix?

madeofpendletonwool@lemmy.world on 22 Apr 14:36 collapse

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.

krash@lemmy.ml on 22 Apr 20:13 next collapse

+1 for matrix

Dima@lemmy.one on 23 Apr 20:40 next collapse

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

barbara@lemmy.ml on 24 Apr 12:01 collapse

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.

madeofpendletonwool@lemmy.world on 24 Apr 15:37 collapse

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!

barbara@lemmy.ml on 24 Apr 16:15 collapse

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

madeofpendletonwool@lemmy.world on 26 Apr 03:23 collapse

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!

barbara@lemmy.ml on 26 Apr 07:31 collapse

That’s cool

uzay@infosec.pub on 22 Apr 12:48 next collapse

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!

madeofpendletonwool@lemmy.world on 22 Apr 14:35 collapse

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.

jeena@jemmy.jeena.net on 22 Apr 12:58 next collapse

What I am missing is something where I can sync what podcast I am playing and the minute and second where in the podcast I am.

This way I could switch seamlessly between devices.

Does it have functionality like that?

madeofpendletonwool@lemmy.world on 22 Apr 13:28 next collapse

Yes absolutely. If you’re using Pinepods between the two devices your listen time is synced to the server. Meaning swapping between devices syncs your exact listen time. In addition to that I almost have time sync implemented for nextcloud sync as well. Meaning swapping between antennapod and pinepods your listen time will sync also.

jeena@jemmy.jeena.net on 22 Apr 13:40 collapse

That makes it very interesting, hm I just don’t have Nextcloud.

madeofpendletonwool@lemmy.world on 22 Apr 14:30 collapse

You can use it without nextcloud. That’s entirely optional and exists only if you want to sync between antennapod and pinepods. If you’re only using Pinepods you don’t need that at all and syncing time between devices works totally fine.

jeena@jemmy.jeena.net on 22 Apr 17:57 collapse

Yeah I get it, thanks. I just already use Antennapod and like it a lot. I will check Pinepods out, perhaps it’s already good enough that I would be OK giving up Antennapod, if not then installing Nextcloud to get this sync functionality between devices.

clay_pidgin@sh.itjust.works on 22 Apr 13:29 next collapse

I’ve been using the PocketCasts app for android which has this feature. It’s not self-hosted, though.

jeena@jemmy.jeena.net on 22 Apr 13:57 collapse

Yeah relying on someone else’s computer is not optimal. And also when it’s a proprietary protocol you can only use one client on all devices.

ikidd@lemmy.world on 22 Apr 14:28 collapse

Kasts on desktop and Antennapod on Android, each using Gpoddersync to Nextcloud gives me this functionality.

jeena@jemmy.jeena.net on 22 Apr 14:31 collapse

Does gpodder sync playtime too? I never could figure out how and then their webside was broken for so long so I gave up on it.

madeofpendletonwool@lemmy.world on 22 Apr 14:38 collapse

It depends in the app. Gpodder has the capability to sync playtime but some apps don’t sync that part. And gpodder itself is a dead project. But a nextcloud gpodder is a nextcloud app that replicates the same functionality to your local nextcloud server since gpodder is in maintenance mode.

setInner234@feddit.de on 22 Apr 13:27 next collapse

Looks great! I wonder if this could be used to create some kind of podcast-based sponsorblock equivalent? I know there are issues with podcast- (providers) inserting sponsor reads and ads at random / unknown times, so, not sure how it could be done reliably.

madeofpendletonwool@lemmy.world on 22 Apr 14:39 collapse

I was thinking about that recently. Seems like it could be a decent use case for an Ai or something. A model that searches for consistent keywords or something. It’s on my feasibility map to take a look at. That does drive me absolutely crazy when it breaks to ads seemingly mid sentence.

bruhbeans@lemmy.ml on 22 Apr 13:44 next collapse

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.”

madeofpendletonwool@lemmy.world on 22 Apr 14:41 collapse

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!

buchinho@feddit.de on 22 Apr 13:45 next collapse

Sounds great. Pocketcasts but self-hosted. Now only if a software could strip podcasts from ads. 😉

madeofpendletonwool@lemmy.world on 22 Apr 14:31 collapse

I was thinking about that recently. Seems like it could be a decent use case for an Ai or something. A model that searches for consistent keywords or something. It’s on my feasibility map to take a look at.

Kuvwert@lemm.ee on 23 Apr 04:24 collapse

Or just go the route of sposerblock and keep a database of user submitted timestamps for auto skipping

madeofpendletonwool@lemmy.world on 23 Apr 10:48 collapse

I sure am glad I posted about this here. Lemmy users are full of seriously good ideas. Can’t believe I didn’t think of that. That’s a really good idea. Straight to the roadmap!

Kuvwert@lemm.ee on 23 Apr 16:29 collapse

I’m spinning up a docker container of this right now. I already host next cloud and if you add the sponsorship skipping I will lose my damn mind. I’ve wanted that feature for so so long it’ll be enormously useful.

madeofpendletonwool@lemmy.world on 23 Apr 16:58 collapse

Nice! What isn’t already implemented is on the roadmap! Jump on the discord or open an issue if you have any troubles with the setup!

Gutless2615@ttrpg.network on 22 Apr 14:51 next collapse

Sorry could you do a comparison to Audiobookshelf? It also has very reputable self hosting podcasting catching features

madeofpendletonwool@lemmy.world on 22 Apr 15:26 next collapse

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.

Gutless2615@ttrpg.network on 22 Apr 16:17 collapse

Appreciate it! I’ll have to give it a check!

madeofpendletonwool@lemmy.world on 22 Apr 15:32 next collapse

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.

uzay@infosec.pub on 22 Apr 16:56 collapse

Don’t you have to download episodes to your server first in ABS? That makes it useless for me as a podcast app.

madeofpendletonwool@lemmy.world on 22 Apr 17:05 collapse

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.

Lem453@lemmy.ca on 22 Apr 16:48 next collapse

This looks amazing, that you for this.

Suggestions:

Use the 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.

madeofpendletonwool@lemmy.world on 22 Apr 17:09 collapse

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.

MummifiedClient5000@feddit.dk on 22 Apr 17:16 next collapse

This has huge potential. What I personally look for in a podcast solution is:

  • Web/desktop player
  • Sync between players (down to seconds)
  • Organize subscribed podcasts with folders/tags
  • Per podcast/folder/tag settings for "automatically add to queue"
  • Some way of dealing with older (backlog) episodes (built-in or via an API)

For now, I’m using Pocketcasts which pretty much does what I need, except for handling the backlog, which I do with a homemade python-script that adds backlog episodes to my playlist whenever it has less than 4 hours of playtime left, using Pocketcast’s web player REST API. The result is an endless playlist where newly released episodes are played within a few hours and older episodes are sprinkled on with no real need for micro-managing episodes in the playlist.

It looks like web/desktop players and sync is already in scope, but are there any “advanced” podcast organization features on your roadmap?

madeofpendletonwool@lemmy.world on 22 Apr 22:01 collapse

Extremely good call on the tagging. I love that. I’ve implementing saving for some basic essentially bookmarking of episodes so far but taking that one further and allowing the user to define custom save tags that they can associate without episodes and quickly access is a fantastic idea.

I’ll have to give your backlog queuing idea some thought. I think there’s absolutely room for that feature. There’s also a lot to considering with implementing it in the most effective way possible. I wondering about maybe taking a look at what podcasts you listen to the most, checking which episodes from those you haven’t listened to, and then aggregating them into a cohesive backlog. These kinds of computational tasks like refreshing for example already happen on the backend so adding more things like that doesn’t affect the user experience at all.

entropicdrift@lemmy.sdf.org on 22 Apr 18:19 next collapse

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.

madeofpendletonwool@lemmy.world on 22 Apr 22:05 next collapse

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.

MaddestMax@lemmy.world on 23 Apr 03:55 collapse

Isn’t the Pine64 product called the PineBuds? The case is nicked the Pinepod, but that’s not really the same.

keyez@lemmy.world on 22 Apr 22:58 next collapse

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!

madeofpendletonwool@lemmy.world on 22 Apr 23:27 collapse

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.

keyez@lemmy.world on 08 May 00:02 collapse

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.

madeofpendletonwool@lemmy.world on 08 May 12:10 collapse

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!

Omega_Jimes@lemmy.ca on 23 Apr 21:00 collapse

“It’s a Rust based…” You son of a bitch, I’m in.

madeofpendletonwool@lemmy.world on 23 Apr 22:59 collapse

I mentioned that first for a reason 😁 I figured it’d be a selling point.