For the last 6 months or so I’ve been working on Pinepods. I have never been able to find the perfect self-hosted podcast app that I wanted to use. podgrab’s player is rather lackluster and misses a lot of features that I would like.

With Pinepods you can play, download, and keep track of podcasts you enjoy. It allows for searching new podcasts using The Podcast Index or Itunes and provides a modern looking UI to browse through shows and episodes. In addition, Pinepods provides simple user managment and can be used by multiple users at once using a browser or app version. Everything is saved into a Mysql database including user settings, podcasts and episodes. It’s fully self-hosted, and I provide an option to use a hosted API or you can also get one from the podcast API and use your own. There’s even many different themes to choose from! Everything is fully dockerized and I provide a simple guide found below explaining how to install Pinepods on your own system.

There’s also lots of modern features like MFA, self-service password resets, and some Podcast 2.0 functionality (more to come)

In addition to all that, I’ve built a client version of the app that can connect via API to your home server over something like a reverse proxy or tailscale.

Pinepods just had it’s first beta release with all the basic functionality implemented. Currently, you’re likely to experience issues, but I certainly invite pull requests or opening issues if you have the time. You can also get setup assistance on the discord server. I invite you to try it out!

Check out the official site here:

https://www.pinepods.online/

Github here:

https://github.com/madeofpendletonwool/PinePods

Getting started instructions:

https://www.pinepods.online/docs/intro

  • density
    link
    fedilink
    41 year ago

    someone was just asking for something like this the other day

      • density
        link
        fedilink
        41 year ago

        @manwichmakesameal Who says “manifesting reality” is loony toones horse shit?

        What nobody ever told Oprah is that it only works in the FLOSS world. 🪄

  • @[email protected]
    link
    fedilink
    English
    21 year ago

    Nice! I’ve been using audiobookshelf for podcasts becaus podgrab was so broken for me. this looks really nice so far! Excellent work and thanks for sharing. Btw have you heard of snipd? I ended up switching to their platform just for the utility of being able to save sections of the podcast I find interesting.

    • @madeofpendletonwoolOP
      link
      English
      41 year ago

      Thanks for the suggestion on snipd. I’ll check it out. Could be some good inspiration for features to implement.

  • Mwalimu
    link
    fedilink
    English
    21 year ago

    Documentation is well done. Good stuff. I use podgrab for some tests and while I like it for the simplicity, I had to move to Audiobookshelf as it combines audiobooks and podcasts neatly. I’ll check this out as it looks quite thought out (and sleek too).

    • @madeofpendletonwoolOP
      link
      English
      11 year ago

      Much appreciated! Let me know if you come across any problems. Squashing lots of bugs currently!

  • Morethanevil
    link
    fedilink
    English
    11 year ago

    Looks intresting, podgrab is dead and podfetch is not what I was looking for. 2 questions:

    • 1 Can this used with postgres instead of mysql? It is a personal preference

    • 2 How does it store podcasts? I don’t see a volume for pinepod. I have a folder structure like this:

    -podcastname 1
        -episodename1
        -episodename2
    
    -podcastname 2
        -episodename1
        -episodename2 
    

    Thanks for sharing this with us ☺️

    • @madeofpendletonwoolOP
      link
      English
      51 year ago

      Hey! Thanks for checking it out.

      1. Not yet, but postgres support is coming in the very short term. I have been working to get it working and will have an update soon with support for it. I’ll actually be on vacation for the next week, but I would anticipate 2 weeks before I have postgres working and a new version posted.

      2. Excellent point. I had forgotten to add that to the compose file. When you download locally it adds files to /opt/pypods/downloads inside the container. So you could mount:

        volumes:

        • /home/user/pinepods/downloads:/opt/pypods/downloads

      I’ll add that to the compose file. Thanks for pointing that out.

      As for layout, currently server downloads put them all in one downloads folder mass, however, on the client when downloaded locally it lays them out with podcastname, episodename structure. I’ll get the server portion of that implemented as well.

  • Lunch
    link
    English
    11 year ago

    Look forwards to trying this on my phone 👌

  • key
    link
    fedilink
    English
    1
    edit-2
    1 year ago

    How do I see it before I decide whether to install it? The tutorial says to go to the website and make an account to try it out… But the website most prominently has a link to that tutorial. I don’t see any way to make an account or even a login form at all on the website. Did something not get deployed when you went live?

  • Kata1yst
    link
    fedilink
    1
    edit-2
    1 year ago

    I’m desperately hoping some self hosted solution will implement multiple prioritied playlists (e.g all podcasts from feed X go to the priority 1 playlist, the main queue plays all priority 1 playlist entries before automatically proceeding to the next highest priority playlist etc).

    I know it’s a long shot, but if you find any time in your already impressive roadmap it will be an instant conversion for myself and hopefully a few other weirdos.

    • @madeofpendletonwoolOP
      link
      21 year ago

      I mean, sure, that wouldn’t be too hard at all to implement. Is there any other app that you use that already has this implemented? It would be useful to have an example to get the behavior of it right.

      • Kata1yst
        link
        fedilink
        31 year ago

        Yes, PodcastRepublic has a nearly perfect implementation. I have gotten so reliant on it I feel stuck here :)

        Thank you for considering!