aboutsummaryrefslogtreecommitdiff

Overview

This project consists of the elements to assemble a docker image and docker-compose instructions of newspipe, the rss feed aggregator web app.

Why this project exists

Of category awesome-selfhosted#feed-readers, only so many projects where written in Python/Flask, and of those (including JARR and Temboz), newspipe was the only one I could get installed at all, which I did in a container because I didn't want to contaminate any real system with the likes of npm and some of the other dependencies of this app.

Using

Basic docker experience should suffice. You can make a directory, e.g., instance, to mount inside the container which will receive the initial configurations from the app, which you can then configure before restarting.

docker run -p 5004:5004 --mount type=bind,source=./instance,destination=/newspipe/instance -it --rm newspipe:latest entrypoint.sh create_admin admin "1234567890"

Operations

Create admin user

If you are using bare docker:

docker run -p 5004:5004 --mount type=bind,source=./instance,destination=/newspipe/instance -it --rm newspipe:latest entrypoint.sh create_admin admin "1234567890"

Or if it is currently running in docker-compose:

docker-compose exec newspipe entrypoint.sh create_admin admin "123456789"

Fetching feeds

Because I'm too lazy to change the container to use uwsgi-python or something that can handle the jobs parts of flask, I wrote a cron job to run this shell script:

1
2
3
#!/bin/sh
cd ~/newspipe-docker
docker-compose exec newspipe /usr/bin/poetry run flask fetch_asyncio

Here's the cron entry:

25 3,15 * * *  root  /home/newspipe/newspipe-docker/contrib/newspipe_cron.sh 1>/dev/null 2>&1 &

These files are in directory contrib/.

Improve

Future improvements include:

  • add option for using postgresql in networked container
  • (underlying project: add ldap auth)

References

  1. https://stackoverflow.com/questions/72465421/how-to-use-poetry-with-docker
  2. https://git.sr.ht/~cedric/newspipe
  3. FreeIPA auth (ldap+kerberos) for a different rss reader, in a different language https://git.sacredheartsc.com/ttrss-freeipa/tree/auth_freeipa/init.php
bgstack15