blob: 826e17dd048e3a548e7eda2117527699512b954d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# Newspipe
[![builds.sr.ht status](https://builds.sr.ht/~cedric/newspipe.svg)](https://builds.sr.ht/~cedric/newspipe)
## Presentation
[Newspipe](https://git.sr.ht/~cedric/newspipe) is a web news aggregator.
![Newspipe Home page](docs/static/newspipe_home-page.png "Newspipe Home page")
Newspipe is written in Python. The core technologies are
[Flask](http://flask.pocoo.org),
[asyncio](https://www.python.org/dev/peps/pep-3156/) and
[SQLAlchemy](http://www.sqlalchemy.org).
For reporting issues, visit the tracker here:
https://todo.sr.ht/~cedric/newspipe
For contributions, use the mailing list to send your patches:
https://lists.sr.ht/~cedric/newspipe
The documentation is here:
https://man.sr.ht/~cedric/newspipe
## Main features
* multiple users can use a Newspipe instance;
* an API to manage feeds (you can connect your own crawler);
* data liberation: export and import your account with a JSON file;
* export and import feeds with OPML files;
* search and favorite articles;
* detection of inactive feeds;
* share articles on Pinboard, Reddit and Twitter;
* management of bookmarks (with import from Pinboard).
## Deployment
Newspipe is really easy to deploy.
### Manual deployment
Assuming you have already installed ``git``, ``npm``, ``poetry``, and
``Python >= 3.8``, you just have to do the following:
```bash
$ git clone https://git.sr.ht/~cedric/newspipe
$ cd newspipe/
$ npm install
$ poetry install
$ export Newspipe_CONFIG=sqlite.py
$ poetry shell
$ pybabel compile -d newspipe/translations
$ python manager.py db_create
$ python manager.py create_admin <nickname> <password>
$ python runserver.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
```
If you want to use PostgreSQL you can customize
the provided example configuration file (``instance/production.py``):
```bash
$ sudo apt-get install postgresql
$ cp instance/production.py instance/postgresql.py
$ vim instance/postgresql.py # customize it
$ export Newspipe_CONFIG=postgresql.py
```
For production you can use [Gunicorn](https://gunicorn.org) or ``mod_wsgi``.
### Deployment with Docker
```bash
$ git clone https://git.sr.ht/~cedric/newspipe
$ cd newspipe/
$ docker-compose up
```
The login will be *admin* and the password *password*.
## License
[Newspipe](https://git.sr.ht/~cedric/newspipe) is under the
[GNU Affero General Public License version 3](https://www.gnu.org/licenses/agpl-3.0.html).
## Contact
[Cédric Bonhomme](https://www.cedricbonhomme.org)
|