summary refs log tree commit diff stats
path: root/system/services/invidious-router/default.nix
blob: a53cf29f4a56546d186a20afc5a412f0ac29a248 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{pkgsUnstable, ...}: {
  services.invidious-router = {
    enable = true;
    package = pkgsUnstable.invidious-router;
    settings = {
      app = {
        listen = "127.0.0.1:8050";
        enable_youtube_fallback = false;
        reload_instance_list_interval = "60s";
        not_available_message = ''
          No available invidious instance found!
          [link]View this video on YouTube[/link], a proprietary
          platform that collects and uses your data without respecting
          your privacy.
        '';
      };
      api = {
        enabled = true;
        url = "https://api.invidious.io/instances.json";
        filter_regions = false;
        allowed_regions = [
          "AT"
          "DE"
          "CH"
        ];
      };
      healthcheck = {
        path = "/watch?v=uSvJaYxRoB4";
        allowed_status_codes = [
          200
        ];
        timeout = "1s";
        interval = "10s";
        filter_by_response_time = {
          enabled = true;
          qty_of_top_results = 4;
        };
        minimum_ratio = 0.2;
        remove_no_ratio = true;
        text_not_present = "YouTube is currently trying to block Invidious instances";
      };
    };
    nginx = {
      enable = true;
      domain = "invidious-router.sils.li";
      extraDomains = [
        "video.fosswelt.org"
      ];
    };
  };
}