40 lines
837 B
Nix
40 lines
837 B
Nix
|
{ config, pkgs, lib, ... }:
|
||
|
let
|
||
|
cfg = config.services.searx;
|
||
|
domain = "search.home.feal.no";
|
||
|
in {
|
||
|
services.searx = {
|
||
|
enable = true;
|
||
|
environmentFile = config.sops.secrets."searx/envfile".path;
|
||
|
settings = {
|
||
|
server = {
|
||
|
secret_key = "@SEARX_SECRET_KEY@";
|
||
|
base_url = "http://${domain}";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
runInUwsgi = true;
|
||
|
uwsgiConfig = {
|
||
|
socket = "/run/searx/searx.sock";
|
||
|
chmod-socket = "660";
|
||
|
};
|
||
|
|
||
|
redisCreateLocally = true;
|
||
|
};
|
||
|
|
||
|
sops.secrets."searx/envfile" = {
|
||
|
owner = "searx";
|
||
|
group = "searx";
|
||
|
};
|
||
|
|
||
|
users.groups."searx".members = [ "nginx" ];
|
||
|
|
||
|
services.nginx.virtualHosts."${domain}" = {
|
||
|
locations."/".extraConfig = ''
|
||
|
include ${config.services.nginx.package}/conf/uwsgi_params;
|
||
|
uwsgi_pass unix:${cfg.uwsgiConfig.socket};
|
||
|
'';
|
||
|
};
|
||
|
}
|
||
|
|