iPromKnight / zilean

88 stars 7 forks source link

Zilean

DMM sourced arr-less searching for Riven

What is Zilean?

Zilean is a service that allows you to search for DebridMediaManager sourced arr-less content. When the service is started, it will automatically download and index all the DMM shared hashlists and index them using Lucene. The service provides a search endpoint that allows you to search for content using a query string, and returns a list of filenames and infohashes. There is no clean filtering applied to the search results, the idea behind this endpoint is Riven performs that using RTN. The DMM import reruns on missing pages every hour.

Configuration

{
  "Zilean": {
    "Dmm": {
      "EnableScraping": true,
      "EnableEndpoint": true,
      "ScrapeSchedule": "0 * * * *",
      "MaxFilteredResults": 200,
      "MinimumScoreMatch": 0.85,
      "ImportBatched": false
    },
    "Database": {
      "ConnectionString": "Host=localhost;Database=zilean;Username=postgres;Password=postgres;Include Error Detail=true;Timeout=300;CommandTimeout=300;"
    },
    "Prowlarr": {
      "EnableEndpoint": true
    },
    "Imdb": {
      "EnableImportMatching": false,
      "EnableEndpoint": true,
      "MinimumScoreMatch": 0.85
    }
  }
}

Every option you see can be set as an env variable, the env variable name is the same as the json path with double underscores instead of dots. For example, Zilean__Dmm__EnableScraping would be the env variable for Zilean.Dmm.EnableScraping.

A breakdown of all configuration options:

Compose Example

See the file compose.yaml for an example of how to run Zilean.