mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-14 03:10:28 +00:00
rss
This commit is contained in:
parent
c00ded115d
commit
a18c856eb9
12
README.md
12
README.md
@ -170,8 +170,16 @@ So, without further ado, here's the current list:
|
|||||||
|
|
||||||
|
|
||||||
# RSS
|
# RSS
|
||||||
- Miniflux
|
- [Miniflux](rss/../apps/rss/miniflux.md)
|
||||||
- Miniflux-filter
|
- [Miniflux-filter](rss/../apps/rss/miniflux-filter.md)
|
||||||
|
- [FreshRSS](https://www.freshrss.org/) [external] - second best :-)
|
||||||
|
|
||||||
|
|
||||||
|
## RSS Tools
|
||||||
|
- [PolitePol](https://github.com/taroved/pol) [external] - Create RSS where there was none
|
||||||
|
- [FetchRSS](https://fetchrss.com/) [external] - Create RSS for FB, Twitter, YT, and websites
|
||||||
|
- [rss-bridge](https://github.com/RSS-Bridge/rss-bridge) [external] - The RSS feed for websites missing it
|
||||||
|
- [rss2full](https://github.com/feedocean/rss2full) [external] - Transform summary feeds into full-text
|
||||||
|
|
||||||
|
|
||||||
# Search engines
|
# Search engines
|
||||||
|
45
apps/rss/miniflux-filter.md
Normal file
45
apps/rss/miniflux-filter.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Miniflux-filter
|
||||||
|
|
||||||
|
Filter for miniflux - "mark as read" all unwanter articles.
|
||||||
|
I created that before miniflux added some basic filtering. Maybe still useful to someone.
|
||||||
|
The difference from the built-in filtering is that this marks articles as read, whereas the built-in filtering filters articles out BEFORE adding them to the DB.
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [Github repo](https://github.com/tborychowski/miniflux-filter)
|
||||||
|
|
||||||
|
|
||||||
|
## docker-compose.yml
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
miniflux-filter:
|
||||||
|
image: tborychowski/miniflux-filter
|
||||||
|
container_name: miniflux-filter
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Dublin
|
||||||
|
- HOST=https://rss.example.com
|
||||||
|
- API_KEY=<YOUR MINIFLUX API KEY>
|
||||||
|
- CHECK_EVERY_S=300 # 300 seconds = 5 min
|
||||||
|
ports:
|
||||||
|
- "5011:3000"
|
||||||
|
volumes:
|
||||||
|
- ./filters.yml:/app/filters.yml
|
||||||
|
- ./logs:/app/logs # optional
|
||||||
|
```
|
||||||
|
|
||||||
|
## filters.yml
|
||||||
|
This is a simple list of matchers: it loops through the unread articles and for every one of them - it loops through this list. If the article URL matches a filter `url` and the article title contains the string from `title` field - this article will be marked as read.
|
||||||
|
|
||||||
|
```yml
|
||||||
|
filters:
|
||||||
|
- url: 'feed.example.com' # match feed url
|
||||||
|
title: 'windows 10' # match title
|
||||||
|
- url: 'feed.example.com'
|
||||||
|
title: 'sponsored'
|
||||||
|
- url: 'feed.another.com'
|
||||||
|
title: 'spam'
|
||||||
|
```
|
56
apps/rss/miniflux.md
Normal file
56
apps/rss/miniflux.md
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
# Miniflux
|
||||||
|
|
||||||
|
The best RSS reader that I've tested. Simple, extremely fast and minimalistic.
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
- [Homepage](https://miniflux.app/)
|
||||||
|
- [Github repo](https://github.com/miniflux/v2)
|
||||||
|
- [Docs](https://miniflux.app/docs/index.html)
|
||||||
|
|
||||||
|
|
||||||
|
## docker-compose.yml
|
||||||
|
```yml
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
miniflux:
|
||||||
|
image: miniflux/miniflux:nightly
|
||||||
|
ports:
|
||||||
|
- "5010:8080"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
|
||||||
|
- RUN_MIGRATIONS=1
|
||||||
|
- CREATE_ADMIN=1
|
||||||
|
- ADMIN_USERNAME=admin
|
||||||
|
- ADMIN_PASSWORD=test123
|
||||||
|
db:
|
||||||
|
image: postgres:latest
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=miniflux
|
||||||
|
- POSTGRES_PASSWORD=secret
|
||||||
|
volumes:
|
||||||
|
- ./db:/var/lib/postgresql/data
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Tips & Tricks
|
||||||
|
- [Rules](https://miniflux.app/docs/rules.html) can be set for every feed source:
|
||||||
|
|
||||||
|
### Filter Rules - block rules
|
||||||
|
exclude articles containing a word (case insensitive), e.g.
|
||||||
|
```
|
||||||
|
(?i)windows,(?i)miniflux
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rewrite rules
|
||||||
|
```
|
||||||
|
add_dynamic_image,add_image_title,add_youtube_video
|
||||||
|
```
|
||||||
|
|
||||||
|
### Scraper rules
|
||||||
|
This is just a css selector for the main article DOM element, e.g.:
|
||||||
|
```css
|
||||||
|
#phContent_divMetaBody>p, #phContent_divMetaBody>.content-image-wrapper
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user