113 lines
3.1 KiB
Django/Jinja
113 lines
3.1 KiB
Django/Jinja
version: '3'
|
|
services:
|
|
######## Miniflux ########
|
|
miniflux:
|
|
container_name: "mf-frontend"
|
|
image: miniflux/miniflux:latest
|
|
restart: always
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
DATABASE_URL: postgres://miniflux:{{ lookup('keepass', 'miniflux_postgres_password', 'password') }}@mf-db/miniflux?sslmode=disable
|
|
RUN_MIGRATIONS: 1
|
|
# CREATE_ADMIN: 1
|
|
# ADMIN_USERNAME: adminmf
|
|
# ADMIN_PASSWORD: {{ lookup('keepass', '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
|
|
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
|
|
- com.centurylinklabs.watchtower.enable=true
|
|
- com.centurylinklabs.watchtower.depends-on=mf-db
|
|
|
|
######## PostGreSQL ########
|
|
db:
|
|
container_name: "mf-db"
|
|
image: postgres:13
|
|
restart: always
|
|
environment:
|
|
POSTGRES_USER: miniflux
|
|
POSTGRES_PASSWORD: {{ lookup('keepass', 'miniflux_postgres_password', 'password') }}
|
|
TZ: Europe/Berlin
|
|
volumes:
|
|
- db:/var/lib/postgresql/data
|
|
networks:
|
|
- intern
|
|
labels:
|
|
- com.centurylinklabs.watchtower.enable=false
|
|
- com.centurylinklabs.watchtower.monitor-only=true
|
|
|
|
######## Miniflux-Filter ########
|
|
mf-filter:
|
|
container_name: mf-filter
|
|
restart: always
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
MF_AUTH_TOKEN: {{ lookup('keepass', 'miniflux_auth_token', 'password') }}
|
|
MF_API_URL: https://miniflux.mgrote.net/v1
|
|
MF_SLEEP: 600
|
|
#MF_DEBUG: 1
|
|
image: quotengrote/miniflux-filter:latest
|
|
volumes:
|
|
- ./filter.txt:/data/filter.txt
|
|
networks:
|
|
- intern
|
|
labels:
|
|
- com.centurylinklabs.watchtower.enable=true
|
|
- com.centurylinklabs.watchtower.depends-on=mf-frontend
|
|
|
|
######## RSS-Bridge ########
|
|
rssbridge:
|
|
container_name: "mf-bridge"
|
|
image: rssbridge/rss-bridge:latest
|
|
restart: always
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
volumes:
|
|
- ./whitelist.txt:/app/whitelist.txt
|
|
networks:
|
|
- intern
|
|
ports: #um neue Feeds einzufügen
|
|
- 3001:80
|
|
labels:
|
|
- com.centurylinklabs.watchtower.enable=true
|
|
|
|
######## changedetection ########
|
|
changedetection.io:
|
|
image: ghcr.io/dgtlmoon/changedetection.io
|
|
container_name: mf-changedetection.io
|
|
hostname: changedetection.io
|
|
volumes:
|
|
- changedetection-data:/datastore
|
|
environment:
|
|
PORT: 5000
|
|
BASE_URL: http://docker10.grote.lan:5000
|
|
ports:
|
|
- 5000:5000
|
|
restart: always
|
|
networks:
|
|
- intern
|
|
labels:
|
|
- com.centurylinklabs.watchtower.enable=true
|
|
|
|
######## Volumes ########
|
|
volumes:
|
|
db:
|
|
changedetection-data:
|
|
######## Networks ########
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
intern:
|
|
driver: bridge
|