2022-08-25 22:22:11 +02:00
|
|
|
version: '3'
|
|
|
|
services:
|
|
|
|
######## Miniflux ########
|
|
|
|
miniflux:
|
|
|
|
container_name: "mf-frontend"
|
2024-01-26 22:24:49 +01:00
|
|
|
image: "ghcr.io/miniflux/miniflux:2.0.51"
|
2022-08-25 22:22:11 +02:00
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- db
|
|
|
|
environment:
|
2024-01-26 22:37:25 +01:00
|
|
|
DATABASE_URL: "postgres://miniflux:{{ lookup('keepass', 'miniflux_postgres_password', 'password') }}"@mf-db/miniflux?sslmode=disable
|
2023-04-06 19:53:27 +02:00
|
|
|
RUN_MIGRATIONS: 1
|
|
|
|
# CREATE_ADMIN: 1
|
|
|
|
# ADMIN_USERNAME: adminmf
|
2024-01-26 22:37:25 +01:00
|
|
|
# ADMIN_PASSWORD: "{{ lookup('keepass', 'miniflux_admin_password', 'password') }}"
|
2023-04-06 19:53:27 +02:00
|
|
|
WORKER_POOL_SIZE: 10
|
|
|
|
POLLING_FREQUENCY: 10
|
|
|
|
CLEANUP_ARCHIVE_UNREAD_DAYS: -1
|
|
|
|
CLEANUP_ARCHIVE_READ_DAYS: 90
|
|
|
|
TZ: Europe/Berlin
|
2022-08-25 22:22:11 +02:00
|
|
|
networks:
|
|
|
|
- intern
|
|
|
|
- traefik
|
|
|
|
labels:
|
2023-04-20 14:50:33 +02:00
|
|
|
traefik.http.routers.miniflux.rule: Host(`miniflux.mgrote.net`)
|
|
|
|
traefik.enable: true
|
|
|
|
traefik.http.routers.miniflux.tls: true
|
|
|
|
traefik.http.routers.miniflux.tls.certresolver: resolver_letsencrypt
|
|
|
|
traefik.http.routers.miniflux.entrypoints: entry_https
|
|
|
|
traefik.http.services.miniflux.loadbalancer.server.port: 8080
|
2023-04-20 21:10:10 +02:00
|
|
|
|
2023-04-20 14:50:33 +02:00
|
|
|
com.centurylinklabs.watchtower.enable: true
|
|
|
|
com.centurylinklabs.watchtower.depends-on: mf-db
|
2023-03-21 19:00:37 +01:00
|
|
|
|
2023-04-20 21:01:58 +02:00
|
|
|
|
2022-08-25 22:22:11 +02:00
|
|
|
######## PostGreSQL ########
|
|
|
|
db:
|
|
|
|
container_name: "mf-db"
|
2024-01-26 22:24:49 +01:00
|
|
|
image: "postgres:16.0"
|
2022-08-25 22:22:11 +02:00
|
|
|
restart: always
|
|
|
|
environment:
|
2023-04-06 19:53:27 +02:00
|
|
|
POSTGRES_USER: miniflux
|
2024-01-26 22:37:25 +01:00
|
|
|
POSTGRES_PASSWORD: "{{ lookup('keepass', 'miniflux_postgres_password', 'password') }}"
|
2023-04-06 19:53:27 +02:00
|
|
|
TZ: Europe/Berlin
|
2022-08-25 22:22:11 +02:00
|
|
|
volumes:
|
|
|
|
- db:/var/lib/postgresql/data
|
|
|
|
networks:
|
|
|
|
- intern
|
|
|
|
labels:
|
2023-11-09 17:33:26 +01:00
|
|
|
com.centurylinklabs.watchtower.enable: true
|
2023-03-21 19:00:37 +01:00
|
|
|
|
2022-08-25 22:22:11 +02:00
|
|
|
######## Miniflux-Filter ########
|
|
|
|
mf-filter:
|
|
|
|
container_name: mf-filter
|
2023-04-20 21:10:10 +02:00
|
|
|
depends_on:
|
|
|
|
- miniflux
|
2022-08-25 22:22:11 +02:00
|
|
|
restart: always
|
|
|
|
environment:
|
2023-04-06 19:53:27 +02:00
|
|
|
TZ: Europe/Berlin
|
2024-01-26 22:37:25 +01:00
|
|
|
MF_AUTH_TOKEN: "{{ lookup('keepass', 'miniflux_auth_token', 'password') }}"
|
2023-04-06 19:53:27 +02:00
|
|
|
MF_API_URL: https://miniflux.mgrote.net/v1
|
|
|
|
MF_SLEEP: 600
|
|
|
|
#MF_DEBUG: 1
|
2024-01-26 22:24:49 +01:00
|
|
|
image: "registry.mgrote.net/miniflux-filter:latest"
|
2022-08-25 22:22:11 +02:00
|
|
|
volumes:
|
|
|
|
- ./filter.txt:/data/filter.txt
|
|
|
|
networks:
|
|
|
|
- intern
|
2023-03-21 19:00:37 +01:00
|
|
|
labels:
|
2023-04-20 14:50:33 +02:00
|
|
|
com.centurylinklabs.watchtower.enable: true
|
|
|
|
com.centurylinklabs.watchtower.depends-on: mf-frontend
|
2023-03-21 19:00:37 +01:00
|
|
|
|
2022-08-25 22:22:11 +02:00
|
|
|
######## Volumes ########
|
|
|
|
volumes:
|
|
|
|
db:
|
|
|
|
######## Networks ########
|
|
|
|
networks:
|
|
|
|
traefik:
|
|
|
|
external: true
|
|
|
|
intern:
|
|
|
|
driver: bridge
|