Get all of your hoardered articles as a podcast.
Still pretty beta and rough around the edges but I'm using it.
Poll for new messages from hoarder and process them using FlaskTTS to generate the audio.
- Get the compose file:
mkdir HoarderToPod && cd HoarderToPod
wget https://raw.githubusercontent.com/DerekParks/HoarderToPod/refs/heads/main/docker-compose.yaml
1b. Uncomment the FlaskTTS service section if you haven't already setup FlaskTTS.
-
Set the environment variables in the .env file. See sample.env for an example.
-
Run the compose file:
docker compose up
sequenceDiagram
participant H as Hoarder
participant HTP as HoarderToPod
participant FTTS as FlaskTTS
participant P as PodcastClient
loop Poll for new messages
HTP->>+H: Poll for messages
H-->>-HTP: Return messages
end
Note over HTP: Process content
loop For each message
HTP->>+FTTS: Submit TTS job
FTTS-->>-HTP: Return job ID
loop Until complete
HTP->>+FTTS: Poll job status
FTTS-->>-HTP: Return status
end
end
P->>+HTP: Get Podcast Feed
HTP-->>-P: Return Podcast Feed
P->>+HTP: Get Episode
HTP-->>-P: Return Episode
To run the web service locally:
pip install -r requirements.txt # create a virtual environment first if you want
FLASK_ENV=dev python hoarderpod/api.py
To run the worker
python hoarderpod/run.py
- Tests, we could use some
- Better scaping and html to text conversion
- Add some CSS to the UI
- Get done notifications from FlaskTTS instead of polling
- Add a web interface for managing episodes