1
0
Fork 0

freshrss: do not use auto-generated nginx entry

This commit is contained in:
Daniel Kempkens 2023-03-06 15:58:28 +01:00
parent 714dc0eee0
commit 8580d4ec26
Signed by: daniel
SSH key fingerprint: SHA256:Ks/MyhQYcPRQiwMKLAKquWCdCPe3JXlb1WttgnAoSeM

View file

@ -8,7 +8,7 @@
passwordFile = config.age.secrets.freshrss-user-password.path;
inherit (secret.freshrss) baseUrl;
inherit (secret.freshrss) virtualHost;
virtualHost = null; # Disable auto-generated nginx entry
database = {
type = "pgsql";
@ -18,4 +18,33 @@
passFile = config.age.secrets.freshrss-database-password.path;
};
};
# Based on: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/services/web-apps/freshrss.nix
services.nginx = {
virtualHosts."${secret.freshrss.virtualHost}" = {
http3 = true;
root = "${config.services.freshrss.package}/p";
forceSSL = true;
useACMEHost = "kempkens.io";
# php files handling
# this regex is mandatory because of the API
locations."~ ^.+?\.php(/.*)?$".extraConfig = ''
fastcgi_pass unix:${config.services.phpfpm.pools.${config.services.freshrss.pool}.socket};
fastcgi_split_path_info ^(.+\.php)(/.*)$;
# By default, the variable PATH_INFO is not set under PHP-FPM
# But FreshRSS API greader.php need it. If you have a “Bad Request” error, double check this var!
# NOTE: the separate $path_info variable is required. For more details, see:
# https://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
'';
locations."/" = {
tryFiles = "$uri $uri/ index.php";
index = "index.php index.html index.htm";
};
};
};
}