A non-fancy personal feed reader for self-hosting
- Easy + cheap to self-host
- Low JS (no JS build steps required!)
- No need for a "big" DB server; uses SQlite + Litestream
- No built-in access control
- Access control of main UI must happen on another architecture level; it is not part of Feedo, but there are recommandations (see section Architecture)
- However, Feedo uses the Django Admin module to manage feeds; how to create an admin user
- RSS
- Reddit (using PRAW)
- e-mail (planned)
- Import articles from different sources
- Tag your feeds
- Save articles for later
- Python3
- SQlite3
- A Reddit account with subscriptions to the subreddits you'd like to fetch
Feedo doesn't require a specific architecture. Any environment that runs a webserver + python3 code that gets backupped regularly should be fine.
Here are some possible ways to run Feedo:
Set the following env
variables in your production environment:
# change to your local path!
DB_FILE=/path/to/your/db/feedo.db3
APP_ENV=prod
# Reddit credentials
REDDIT_USERNAME=
REDDIT_PASSWORD=
REDDIT_CLIENT_ID=
REDDIT_CLIENT_SECRET=
- If using docker: Create a docker file for Python + uWSGI like this one
Create a .env
file in the document root with:
# change to your local path!
DB_FILE=/path/to/your/db/feedo.db3
APP_ENV=dev
# for pytest
DJANGO_SETTINGS_MODULE=config.settings
Run:
$ pip3 install -r requirements.txt
$ ./manage.py runserver
Run:
$ pytest