# miniflux-filter ### Table of Contents * [Introduction](#introduction) * [Getting Started](#getting-started) * [example docker-compose](#example-docker-compose) * [example filter-file](#example-filter-file) * [Misc](#misc) * [Debug](#debug) * [Exit-Codes](#exit-codes) * [Build Container](#build-container) * [ToDo](#todo) * [License](#license) ### Introduction ``miniflux-filter`` is a small bash-script for [miniflux](https://miniflux.app) that marks certain articles as read, if the search conditions met. ### Getting Started 1. create an [api-key](https://miniflux.app/docs/api.html#authentication) in miniflux 2. create a [compose-file](./docker-compose.yml) 3. create a [filter-file](./filter.txt) 4. ````docker-compose up```` #### example docker-compose ``` version: '3.2' services: mf-filter: container_name: mf-filter restart: always environment: - TZ=Europe/Berlin - MF_AUTH_TOKEN=XN2klsvvD[...]-dcHPaeQ= - MF_API_URL=https://miniflux.[...].net/v1 - MF_SLEEP=60 #- MF_DEBUG=1 image: quotengrote/miniflux-filter:latest volumes: - ./filter.txt:/data/filter.txt ``` #### example filter-file ``` : sueddeutsche.de:FC Bayern heise.de:software-architektur.tv heise.de:heise-angebot tagesschau.de:FC Barcelona heise.de:TechStage | [...] ``` ## Misc - [tborychowski/miniflux-filter](https://github.com/tborychowski/miniflux-filter) - [jqplay.org](https://jqplay.org) ### Debug If `MF_DEBUG` is set to `1`, `miniflux-filter` will print extra output to stdout. - the current Variable - URL + Values for filtering - almost all function calls #### Exit-Codes | RC | Description | | -- | -- | | 1 | Filter-File not found | | 2 | MF_AUTH_TOKEN not set | | 3 | MF_API_URL not set | | 4 | Filter-Datei is a dir | | 5 | jq is not installed | | 6 | curl is not installed | | 7 | could not connect to miniflux | | 8 | xargs is not installed | | 9 | sed is not installed | | 10 | sort is not installed | ## Build Container ``` git clone https://git.mgrote.net/mg/miniflux-filter cd miniflux-filter export MF_DOCKER_HUB_PASS= export MF_DOCKER_HUB_USER= ./build.sh ``` ## ToDo - [ ] search in content, not only title ## License This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](./LICENSE) file for details.