81 lines
2.5 KiB
Django/Jinja
81 lines
2.5 KiB
Django/Jinja
services:
|
|
######## Miniflux ########
|
|
miniflux:
|
|
container_name: "mf-frontend"
|
|
image: "ghcr.io/miniflux/miniflux:2.2.3"
|
|
restart: unless-stopped
|
|
pull_policy: missing
|
|
depends_on:
|
|
- mf-db17
|
|
environment:
|
|
DATABASE_URL: "postgres://miniflux:{{ lookup('viczem.keepass.keepass', 'miniflux/miniflux_postgres_password', 'password') }}@mf-db17/miniflux?sslmode=disable"
|
|
RUN_MIGRATIONS: 1
|
|
# CREATE_ADMIN: 1
|
|
# ADMIN_USERNAME: adminmf
|
|
# ADMIN_PASSWORD: "{{ lookup('viczem.keepass.keepass', 'miniflux/miniflux_admin_password', 'password') }}"
|
|
WORKER_POOL_SIZE: 10
|
|
POLLING_FREQUENCY: 10
|
|
CLEANUP_ARCHIVE_UNREAD_DAYS: -1
|
|
CLEANUP_ARCHIVE_READ_DAYS: 90
|
|
TZ: Europe/Berlin
|
|
networks:
|
|
- intern
|
|
- traefik
|
|
healthcheck:
|
|
test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"]
|
|
labels:
|
|
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
|
|
|
|
######## Postgres ########
|
|
mf-db17:
|
|
container_name: "mf-db"
|
|
image: "postgres:17.0"
|
|
restart: unless-stopped
|
|
pull_policy: missing
|
|
environment:
|
|
POSTGRES_USER: miniflux
|
|
POSTGRES_PASSWORD: "{{ lookup('viczem.keepass.keepass', 'miniflux/miniflux_postgres_password', 'password') }}"
|
|
TZ: Europe/Berlin
|
|
POSTGRES_HOST_AUTH_METHOD: "md5" # Workaround beim Migration von 13 -> 16; https://eelkevdbos.medium.com/upgrade-postgresql-with-docker-compose-99d995e464 ;
|
|
volumes:
|
|
- db17:/var/lib/postgresql/data
|
|
networks:
|
|
- intern
|
|
healthcheck:
|
|
test: ["CMD", "pg_isready", "-U", "miniflux"]
|
|
interval: 10s
|
|
start_period: 30s
|
|
|
|
######## Miniflux-Filter ########
|
|
mf-filter:
|
|
container_name: mf-filter
|
|
depends_on:
|
|
- miniflux
|
|
restart: unless-stopped
|
|
pull_policy: missing
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
MF_AUTH_TOKEN: "{{ lookup('viczem.keepass.keepass', 'miniflux/miniflux_auth_token', 'password') }}"
|
|
MF_API_URL: https://miniflux.mgrote.net/v1
|
|
MF_SLEEP: 600
|
|
#MF_DEBUG: 1
|
|
image: "registry.mgrote.net/miniflux-filter:latest"
|
|
volumes:
|
|
- ./filter.txt:/data/filter.txt
|
|
networks:
|
|
- intern
|
|
|
|
######## Volumes ########
|
|
volumes:
|
|
db17:
|
|
######## Networks ########
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
intern:
|
|
driver: bridge
|