A self-hosted web news aggregator — own your feeds, your data, and your reading.
Built with Flask · asyncio · SQLAlchemy
- 👥 Multi-user — a single Newspipe instance serves many users
- 🔌 API — manage feeds programmatically and plug in your own crawler
- 📦 Data liberation — export and import your whole account as JSON
- 🔁 OPML — import and export your feeds with OPML files
- 🔍 Search & favorites — find and bookmark the articles that matter
- 💤 Inactive feed detection — keep your feed list clean
- 🔖 Bookmarks — full bookmark management, with import from Pinboard
- 📝 Notes — write notes on articles and review them all on a dedicated page
- 🌍 Internationalization — available in English, French, and German
- 🔐 LDAP — optional LDAP authentication (see the example config)
- 🌗 Themes — light and dark interfaces out of the box
Assuming you already have git, poetry, npm, and Python >= 3.12 installed:
git clone https://github.com/cedricbonhomme/newspipe
cd newspipe/
npm ci
poetry install
poetry shell
pybabel compile -d newspipe/translations
export NEWSPIPE_CONFIG=sqlite.py
flask db_init
flask db stamp head
flask create_admin --nickname <nickname> --password <password>
flask run --debugThen open http://127.0.0.1:5000 and sign in. 🎉
Customize the provided example configuration file (instance/config.py):
sudo apt-get install postgresql
cp instance/config.py instance/postgresql.py
vim instance/postgresql.py # customize it
export NEWSPIPE_CONFIG=postgresql.py
flask db_create
flask db_initFor production, serve Newspipe with Gunicorn or mod_wsgi.
cd newspipe/
git pull origin master
poetry install
poetry run flask db upgrade
poetry run pybabel compile -d newspipe/translationsA dedicated Flask command runs the RSS/Atom feed importer. Schedule it with cron, for example every three hours:
0 */3 * * * poetry run flask fetch_asyncioWhen using cron it is usually best to be explicit about the command location:
0 */3 * * * FLASK_APP=app.py /home/cedric/.cache/pypoetry/virtualenvs/newspipe-19mdZ4UL-py3.12/bin/flask fetch_asyncioNewspipe is released under the GNU Affero General Public License v3.
If you enjoy Newspipe, you can support its development:
…or with Bitcoin: bc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e
Thank you! 🙏
Made by Cédric Bonhomme.
