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