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:

https://www.pinepods.online/

Github:

https://github.com/madeofpendletonwool/PinePods

Discord:

https://discord.com/invite/bKzHRa4GNc

3 points

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

permalink
report
reply
2 points

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

permalink
report
parent
reply
4 points

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!

permalink
report
reply
3 points
*

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.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
2 points

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!

permalink
report
parent
reply
16 points

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.

permalink
report
reply
2 points

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

permalink
report
parent
reply
9 points

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.

permalink
report
parent
reply
1 point

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?

permalink
report
reply
2 points

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.

permalink
report
parent
reply
5 points
*

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.

permalink
report
reply
4 points

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.

permalink
report
parent
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 3.5K

    Monthly active users

  • 3.4K

    Posts

  • 77K

    Comments