services: miniflux: image: miniflux/miniflux:latest container_name: miniflux restart: unless-stopped depends_on: miniflux-db: condition: service_healthy networks: - proxy - miniflux environment: - DATABASE_URL=postgres://miniflux:${MINIFLUX_POSTGRES_PASSWORD}@minifluxdb/miniflux?sslmode=disable - RUN_MIGRATIONS=1 - OAUTH2_PROVIDER=oidc - OAUTH2_CLIENT_ID=${MINIFLUX_OAUTH2_CLIENT_ID} - OAUTH2_CLIENT_SECRET=${MINIFLUX_OAUTH2_CLIENT_SECRET} - OAUTH2_REDIRECT_URL=https://${MINIFLUX_HOST}/oauth2/oidc/callback - OAUTH2_OIDC_DISCOVERY_ENDPOINT=https://${MINIFLUX_OAUTH2_OIDC_DISCOVERY_ENDPOINT} - OAUTH2_USER_CREATION=1 labels: - "traefik.enable=true" - "traefik.http.services.miniflux.loadbalancer.server.port=8080" - "traefik.http.routers.miniflux.rule=Host(`${MINIFLUX_HOST}`)" - "traefik.http.routers.miniflux.entrypoints=websecure" - "traefik.http.routers.miniflux.tls.certresolver=le" miniflux-db: image: postgres:latest container_name: miniflux-db restart: unless-stopped networks: - miniflux environment: - POSTGRES_USER=miniflux - POSTGRES_PASSWORD=${MINIFLUX_POSTGRES_PASSWORD} - POSTGRES_DB=miniflux volumes: - ./data/miniflux-db:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U outline -d outline"] interval: 10s timeout: 5s retries: 5 networks: proxy: name: proxy external: true miniflux: name: miniflux