From d7db3abaae73e292b851aaa71fe3d82f57da8dc4 Mon Sep 17 00:00:00 2001 From: prescientmoon Date: Mon, 11 Mar 2024 15:46:27 +0100 Subject: [PATCH] Set up invidious --- common/icons/invidious.png | Bin 0 -> 17286 bytes docs/ports.md | 1 + .../common/optional/services/postgres.nix | 3 ++ hosts/nixos/lapetus/default.nix | 1 + hosts/nixos/lapetus/services/homer.nix | 14 +++++++++ hosts/nixos/lapetus/services/invidious.nix | 29 ++++++++++++++++++ 6 files changed, 48 insertions(+) create mode 100644 common/icons/invidious.png create mode 100644 hosts/nixos/common/optional/services/postgres.nix create mode 100644 hosts/nixos/lapetus/services/invidious.nix diff --git a/common/icons/invidious.png b/common/icons/invidious.png new file mode 100644 index 0000000000000000000000000000000000000000..75f72e6318c795c74a683a675e7955642c26afec GIT binary patch literal 17286 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 F{{StW2vYz6 literal 0 HcmV?d00001 diff --git a/docs/ports.md b/docs/ports.md index d0c80ad..ab22423 100644 --- a/docs/ports.md +++ b/docs/ports.md @@ -17,3 +17,4 @@ The idea is to always use consecutive ports, but never go back and try to recycl | 8411 | [prometheus node exporter](../hosts/nixos/lapetus/services/prometheus.nix) | | 8412 | [prometheus nginx exporter](../hosts/nixos/lapetus/services/prometheus.nix) | | 8413 | [commafeed](../hosts/nixos/lapetus/services/commafeed.nix) | +| 8414 | [invidious](../hosts/nixos/lapetus/services/invidious.nix) | diff --git a/hosts/nixos/common/optional/services/postgres.nix b/hosts/nixos/common/optional/services/postgres.nix new file mode 100644 index 0000000..8d0ef20 --- /dev/null +++ b/hosts/nixos/common/optional/services/postgres.nix @@ -0,0 +1,3 @@ +{ + environment.persistence."/persist/state".directories = [ "/var/lib/postgres" ]; +} diff --git a/hosts/nixos/lapetus/default.nix b/hosts/nixos/lapetus/default.nix index fa2cb48..d09754f 100644 --- a/hosts/nixos/lapetus/default.nix +++ b/hosts/nixos/lapetus/default.nix @@ -16,6 +16,7 @@ ./services/prometheus.nix ./services/grafana.nix ./services/commafeed.nix + ./services/invidious.nix ./filesystems ./hardware ]; diff --git a/hosts/nixos/lapetus/services/homer.nix b/hosts/nixos/lapetus/services/homer.nix index 28cbbb0..cbeb435 100644 --- a/hosts/nixos/lapetus/services/homer.nix +++ b/hosts/nixos/lapetus/services/homer.nix @@ -118,6 +118,20 @@ in ]; } # }}} + # {{{ Entertainment + { + name = "Entertainment"; + icon = fa "gamepad"; + items = [ + { + name = "Invidious"; + subtitle = "Youtube client"; + logo = icon "invidious.png"; + url = "https://yt.moonythm.dev"; + } + ]; + } + # }}} ]; }; }; diff --git a/hosts/nixos/lapetus/services/invidious.nix b/hosts/nixos/lapetus/services/invidious.nix new file mode 100644 index 0000000..3f89048 --- /dev/null +++ b/hosts/nixos/lapetus/services/invidious.nix @@ -0,0 +1,29 @@ +{ config, ... }: { + imports = [ + ../../common/optional/services/nginx.nix + ../../common/optional/services/postgres.nix + ]; + + services.invidious = { + enable = true; + domain = "yt.moonythm.dev"; + port = 8414; + + nginx.enable = true; + + settings = { + captcha_enabled = false; + admins = [ "prescientmoon" ]; + default_user_preferences = { + default_home = "Subscriptions"; + max_results = 40; + comments = [ "youtube" "reddit" ]; + save_player_pos = true; + automatic_instance_redirect = true; + }; + }; + }; + + services.nginx.virtualHosts.${config.services.invidious.domain} = + config.satellite.proxy config.services.invidious.port { }; +}