{
  hypnotoad => {
    listen  => ['http://*:3000'],
    trusted_proxies => ['10.0/8', '127.0.0.1'],
    proxy => 1,
    pid_file => 'derekovecs-example.'. `hostname -s | tr -d "\n"` .'.pid',
    workers => 4
  },

  morbo => {
    listen  => ['http://*:5673'],
    workers => 0
  },

  # Per worker in-memory caches. The total footprint is workers * max_keys *
  # size of a cached result, so keep max_keys small - neighbourhood results
  # contain one vector per neighbour. 0 disables the respective cache.
  cache => {
    max_keys             => 50,   # neighbourhood (paradigmatic/syntagmatic) results
    collocators_max_keys => 200,  # classic collocator profiles (JSON)
    profiles_max_keys    => 200   # similar profiles (JSON)
  },

  # Crawlers that collect training data for language models are answered with
  # 403 before anything is computed. The value is a regular expression that is
  # matched against the User-Agent header; the built in list is in
  # script/derekovecs-server. An empty string switches the blocking off.
  # robots => {
  #   block_user_agents => 'GPTBot|ClaudeBot|Meta-ExternalAgent|CCBot'
  # },

  w2v => {
    vecs => "example-models/wpd19_10000/wpd19_10000.vecs",
    # compare_to => "https://corpora.ids-mannheim.de/openlab/derekovecs", # compare results to this derekovecs instance
    # korap_url => "https://korap.ids-mannheim.de"
  },

  downtime_calendar_url => "https://cloud.ids-mannheim.de/remote.php/dav/public-calendars/QfRCG4HriLcZJJRd?export",

  # Piwik => {
  #   url => 'https://stats.ids-mannheim.de',
  #   token_auth => 'ad7609a669179c4ebca7c995342f7e12',
  #   site_id => 16,
  #   embed => 1
  # },
}