diff --git a/modules/servers/odin/default.nix b/modules/servers/odin/default.nix index eb8c83a..fbc5473 100644 --- a/modules/servers/odin/default.nix +++ b/modules/servers/odin/default.nix @@ -1,5 +1,7 @@ {...}: { imports = [ ./proxitok.nix + ./secrets.nix + ./searx.nix ]; } diff --git a/modules/servers/odin/searx.nix b/modules/servers/odin/searx.nix new file mode 100644 index 0000000..f14a3a6 --- /dev/null +++ b/modules/servers/odin/searx.nix @@ -0,0 +1,34 @@ +{config, ...}: { + services.searx = { + enable = true; + settings = { + general.instance_name = "Crony's SearXNG"; + server.port = "8090"; + server.bind_address = "127.0.0.1"; + server.secret_key = "@SEARX_SECRET_KEY@"; + }; + uwsgiConfig = { + http = ":8090"; + }; + redisCreateLocally = true; + runInUwsgi = true; + environmentFile = "${config.age.secrets.searx.path}"; + }; + + services.traefik.dynamicConfigOptions.http = { + services.searx.loadBalancer.servers = [ + { + url = "http://localhost:8090"; + } + ]; + + routers.searx = { + rule = "Host(`searx.cronyakatsuki.xyz`)"; + tls = { + certResolver = "porkbun"; + }; + service = "searx"; + entrypoints = "websecure"; + }; + }; +} diff --git a/modules/servers/odin/secrets.nix b/modules/servers/odin/secrets.nix new file mode 100644 index 0000000..75cfe0c --- /dev/null +++ b/modules/servers/odin/secrets.nix @@ -0,0 +1,9 @@ +{ + age = { + secrets = { + searx = { + file = ../../../secrets/searx.age; + }; + }; + }; +} diff --git a/secrets/searx.age b/secrets/searx.age new file mode 100644 index 0000000..067f778 --- /dev/null +++ b/secrets/searx.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 2P4nKw /50ICg7tw3mtJHP0Ojn0CRf7toGwSrvkEwa1KGvNdE4 +qApSR5Nzmo4Gtd3VCB5wRdAR6bXz/D7+08bzGqzBBQo +-> ssh-ed25519 6+hQpQ jIrudzwI2RP6bzxRUQyenrafKfNCjjda+IMd0TF70H8 +VCgOOZ214xirqYm3dfygTwEev8ENzAseT6cSnPyK+Zc +-> ssh-ed25519 l/ODWA snwSyu+C+v2VqoDm8kK2Kj5issIRe9DHAzHWBFWj7Fg +/gCor0CAg40e/eWY9I4vIevj43Xm/ho1CyC6pALBCnQ +-> ssh-ed25519 7+5K3Q 7tFP9u45oe54nK5PxBYp4JECXpxtG/z8T8/IZ0+NCy4 +IaWoz56u+TJv+1ITknsXZDiOdzGU0uZuag+34Gzte7I +-> ssh-ed25519 Ow0TGw J4taLXklri+TM8A8/DaHJC6pmtI2gRavoDl69J8yGjg +8vW7h9FPDrrDXvoXDS0TCXqZJIgNWCgwJpOaknAHjbI +-> ssh-ed25519 cEINMA uMdi/ABBDrMEYNaX0TzMaQZ93WcC5eBNoMiA3lrj1A4 +TGrMDez88mddLduDF5oBx9FIq9qoyjifmePpOqiuvrw +-> ssh-ed25519 fd/ZLQ 4aLKwKCOACQMOXwIWONX4wxBgkNWxpjuFeq37iN97Vw +4bRwd9JPKNAa5YQ2LRhjwt4rQwr/l3ZfvpdyWHo/1iI +--- /C6FBiiV6X31BNw99+YNEVtWiOyMXrkWSbyCSIhyJ74 +tŠaÝÖÌZ~00W¸€ËROhPóŒT?²iz »Î6^Y¥}ÁT8ŠáâOŸäâ¤q.U¼÷$’nlw–͆ja6ŸÆOÿ×ÅÝ ¯®0 \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index b0a85c9..4c65fed 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -23,4 +23,5 @@ in { "forgejo-db.age".publicKeys = systems ++ users; "plausible.age".publicKeys = systems ++ users; "conduit.age".publicKeys = systems ++ users; + "searx.age".publicKeys = systems ++ users; }