this post was submitted on 23 Dec 2024
223 points (99.6% liked)

Selfhosted

40720 readers
364 users here now

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!

founded 2 years ago
MODERATORS
 

Hey all,

For quite a long time now I've been working 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 where your podcasts and settings follow you from device to device due to everything being stored on your server. There's installable clients on just about every platform - now including a beta build of an Android client! (Also a flatpak, aur, Mac, windows, deb, appimage, and rpm client as well)

Over time this project has really grown into something great, and many quality of life features have been baked in. The experience of using Pinepods at this point is getting close to some of the larger self-hosted projects such as Immich, and as feature complete as a client such as AntenaPods. I can't believe that a project hasn't previously heavily focused on becoming a fully feature complete Self-hosted Podcast platform because of how rooted in the spirit of open source the podcast ecosystem is built to be.

So many nice to haves have been added at this point:

  • chapter support
  • sorting/filtering/searching throughout
  • RSS feed hosting for other apps to use
  • Great mobile support everywhere (PWA, beta android client)
  • Nextcloud/Gpodder sync support -Postgres or MariaDB
  • simple API's for things like Homepage Widgets!

And lately I've even been working on a feature that allows you to subscribe to hosts! This will let you follow them from show to show. I've built a side project called PodPeopleDB for that: https://www.pinepods.online/blog/2024/12/08/podpeople-db

Chances are, if there's a feature in a podcast app that's a must have for you, it's already built in, and if it isn't, I want to know about it so I can add it!

If you’re on the fence you can try it out without installing the server too! Check the website for more info!

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!

GitHub: https://github.com/madeofpendletonwool/Pinepods

Official site: https://pinepods.online/

In case you're unware. What is podcasting 2.0?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 1 day ago* (last edited 1 day ago) (2 children)

It's a carryover from the original project. I did a complete rebuild of the frontend at one point to wasm due to rust having good frontend support with Yew. I plan to rebuild the backend too. All in due time.

I'm likely to rebuild the backend in Go, and while there will be a speed difference to a degree, the api isn't sending complicated data. The bottleneck in response times usually isn't what you'd make up for using a lower level language. Usually it's more likely query times and Frontend processing. The Frontend rebuild MASSIVELY sped things up. Which is why I started there.

And yeah, doc site needs a refresh. I spend too much of my Pinepods time programming.

[–] [email protected] 6 points 1 day ago (1 children)

And how do you like yew? Long ago I used seed.rs, which was more like ELM than react. But I think that project has since gone unmaintained. I also tried yew when I think they were in the middle of a huge API transition. Do you think its easier to write in yew than it would be in react/vue/svelte?

[–] [email protected] 4 points 1 day ago

I like it a lot. It's not particularly difficult to write and once you get a feel for building components it's pretty simple to conceptualize just about anything you'd need to build. I'd probably say difficulty is about the same to write react/svelte etc.. Primary difference is that I don't need to deal with webpack/npm dependencies. Absolute worst. web_sys support is great in rust and does absolutely everything you'd need to interact with a browser.

[–] [email protected] 2 points 1 day ago (1 children)

I'm likely to rebuild the backend in Go

Why bother with another language? Rust offers multiple great backend options. Using the same language for both ends might allow reusing some parts.

[–] [email protected] 6 points 1 day ago

Go is simpler to write and is great for apis. Also has strong library support for interacting with databases. That's the primary reason. They both create compiled binaries which means no library dependencies taking up space on the container. That's the primary issue with python currently. I have no problem using actix in rust and that might be a good direction to go honestly, the primary concern is removing the compile at runtime language.