diff --git a/hosts/physique/hyponix/services/default.nix b/hosts/physique/hyponix/services/default.nix index 1fb2413..4713476 100644 --- a/hosts/physique/hyponix/services/default.nix +++ b/hosts/physique/hyponix/services/default.nix @@ -4,6 +4,7 @@ ./fail2ban.nix ./forgejo.nix ./forgejo-runner.nix + ./searxng.nix ]; services.caddy = { diff --git a/hosts/physique/hyponix/services/searxng.nix b/hosts/physique/hyponix/services/searxng.nix new file mode 100644 index 0000000..d205a32 --- /dev/null +++ b/hosts/physique/hyponix/services/searxng.nix @@ -0,0 +1,29 @@ +{config, ...}: +{ + + age.secrets = { + searxng-secret-key = { + file = ../../../../secrets/services/searxng.age; + owner = "searx"; + }; + }; + + services.searx = { + enable = true; + + redisCreateLocally = true; + + settings.server = { + port = 8888; + bind_address = "::1"; + secret_key = config.age.secrets.searxng-secret-key.path; + }; + }; + + + services.caddy.virtualHosts."search.${config.networking.domain}" = { + extraConfig = '' + reverse_proxy localhost:${toString config.services.searx.settings.server.port} + ''; + }; +} diff --git a/secrets.nix b/secrets.nix index 5c7de35..ede176e 100644 --- a/secrets.nix +++ b/secrets.nix @@ -12,5 +12,6 @@ let in { "secrets/services/forgejo/forgejo-runner-token-1.age".publicKeys = admins ++ [ hyponix ]; + "secrets/services/searxng.age".publicKeys = admins ++ [ hyponix ]; } diff --git a/secrets/services/searxng.age b/secrets/services/searxng.age new file mode 100644 index 0000000..5241207 Binary files /dev/null and b/secrets/services/searxng.age differ