# 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" # your public URL, used in Torznab feed links database: path: "/var/lib/kindexr/kindexr.db" logging: level: "info" # debug | info | warn | error format: "json" # json | text # Nostr relays to pull torrent posts from. relays: - "wss://relay.damus.io" - "wss://nos.lol" - "wss://relay.primal.net" - "wss://nostr.mom" - "wss://relay.snort.social" - "wss://nostr.wine" - "wss://relay.nos.social" backfill_days: 30 # how far back to go when first connecting to a relay negentropy_bootstrap: false # Trust settings — who to index content from curation: wot_only: false # set true to only index posts from people you follow follow_depth: 2 # 1 = direct follows only, 2 = follows of follows operator_pubkey: "" # your npub or hex pubkey — root of your trust network allowlist: [] blocklist: [] curation_sets: [] exclude_categories: [] auto_block_threshold: 5 # TMDB enrichment — looks up movie/TV info for better Sonarr/Radarr matching tmdb: enabled: false api_key: "" # free key from themoviedb.org; or set KINDEXR_TMDB__API_KEY env var cache_ttl: "168h" # Health scraping (off by default) health: enabled: false method: "dht" refresh_interval: "30m" # Blossom file server integration (optional) blossom: enabled: false server: "https://blossom.example.com" # Proxy / anonymity # mode: direct | tor | i2p | socks5 network: proxy: mode: "direct" url: "" # only used when mode=socks5, e.g. socks5://127.0.0.1:1080 # Publisher — post your finished downloads to Nostr automatically publisher: enabled: false outbox: # relays to post your events to - "wss://nos.lol" - "wss://relay.damus.io" publish_delay_secs: 1800 # hold time before publishing (seconds); 1800 = 30 min identity: nsec: "" # your signing key; generate with: kindexr-cli identity init bunker_url: "" # NIP-46 bunker URI (takes precedence over nsec) # qBittorrent — leave url blank to disable qbittorrent: url: "" username: "admin" password: "" poll_interval_secs: 60 categories: [] # empty = publish all completed; or e.g. ["publish-nostr"] # Deluge Web UI — leave enabled: false to disable deluge: enabled: false url: "http://127.0.0.1:8112" password: "" poll_interval_secs: 60 labels: [] # empty = publish all completed; or e.g. ["publish-nostr"]