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