# kindexr config — copy to /etc/kindexr/config.yaml and edit as needed. server: listen: "127.0.0.1:9117" base_url: "https://kindexr.example.com" # used in Torznab feed magnet links database: path: "/var/lib/kindexr/kindexr.db" logging: level: "info" # debug | info | warn | error format: "json" # json | text # Nostr relays to subscribe to for NIP-35 (kind 2003) events. relays: - "wss://relay.damus.io" - "wss://nos.lol" - "wss://relay.primal.net" - "wss://nostr.mom" - "wss://relay.snort.social" - "wss://sovbit.host" backfill_days: 365 # how far back to go on first connect per relay negentropy_bootstrap: true # Curation / trust settings curation: wot_only: false # if true, drop events from pubkeys outside your WoT graph follow_depth: 2 operator_pubkey: "" # your npub or hex pubkey — defines WoT root allowlist: [] blocklist: [] curation_sets: [] # kind 30004 naddr URIs to subscribe to exclude_categories: [6000, 6010, 6020, 6030, 6040, 6050, 6060, 6070, 6080, 6090] auto_block_threshold: 5 # auto-block a publisher after this many reports # TMDB enrichment — title → TMDB ID lookup (optional) tmdb: enabled: true api_key: "${TMDB_API_KEY}" # or set KINDEXR_TMDB.API_KEY env var cache_ttl: "168h" # Health scraping (off by default — can be rude to private trackers) health: enabled: false method: "dht" # dht | tracker | both refresh_interval: "30m" # Publisher — publish your own torrents as NIP-35 events publisher: enabled: false outbox: # relays to publish your events to - "wss://sovbit.host" - "wss://relay.damus.io" publish_delay_secs: 1800 # 30 min hold before publishing identity: nsec: "" # local signing key (bech32 nsec or hex); run: kindexr-cli identity init bunker_url: "" # NIP-46 bunker URI (takes precedence over nsec when set) qbittorrent: url: "http://127.0.0.1:8080" username: "admin" password: "${QBIT_PASSWORD}" poll_interval_secs: 60 categories: - "publish-nostr" # only publish torrents with this category label