mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-13 10:53:38 +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
|
||||
- Miniflux
|
||||
- Miniflux-filter
|
||||
- [Miniflux](rss/../apps/rss/miniflux.md)
|
||||
- [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
|
||||
|
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