nixos/rss-bridge: add webserver option
Co-authored-by: Zitrone <general@dev.quantenzitrone.eu>
This commit is contained in:
parent
b8735ce254
commit
3cade1b5ac
@ -463,7 +463,7 @@
|
|||||||
|
|
||||||
- `networking.wireguard` now has an optional networkd backend. It is enabled by default when `networking.useNetworkd` is enabled, and it can be enabled alongside scripted networking with `networking.wireguard.useNetworkd`. Some `networking.wireguard` options have slightly different behavior with the networkd and script-based backends, documented in each option.
|
- `networking.wireguard` now has an optional networkd backend. It is enabled by default when `networking.useNetworkd` is enabled, and it can be enabled alongside scripted networking with `networking.wireguard.useNetworkd`. Some `networking.wireguard` options have slightly different behavior with the networkd and script-based backends, documented in each option.
|
||||||
|
|
||||||
- `services.rss-bridge` now has a `package` option.
|
- `services.rss-bridge` now has a `package` option as well as support for `caddy` as reverse proxy.
|
||||||
|
|
||||||
- `services.avahi.ipv6` now defaults to true.
|
- `services.avahi.ipv6` now defaults to true.
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,6 @@ let
|
|||||||
|
|
||||||
cfg = config.services.rss-bridge;
|
cfg = config.services.rss-bridge;
|
||||||
|
|
||||||
|
|
||||||
cfgEnv = lib.pipe cfg.config [
|
cfgEnv = lib.pipe cfg.config [
|
||||||
(lib.mapAttrsRecursive (
|
(lib.mapAttrsRecursive (
|
||||||
path: value:
|
path: value:
|
||||||
@ -61,17 +60,19 @@ in
|
|||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "nginx";
|
default = if cfg.webserver == null then "rss-bridge" else cfg.webserver;
|
||||||
|
defaultText = "{option}`config.services.rss-bridge.webserver` or \"rss-bridge\"";
|
||||||
description = ''
|
description = ''
|
||||||
User account under which both the service and the web-application run.
|
The user account under which both the service and the web application run.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
group = mkOption {
|
group = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "nginx";
|
default = if cfg.webserver == null then "rss-bridge" else cfg.webserver;
|
||||||
|
defaultText = "{option}`config.services.rss-bridge.webserver` or \"rss-bridge\"";
|
||||||
description = ''
|
description = ''
|
||||||
Group under which the web-application run.
|
The group under which the web application runs.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -99,7 +100,20 @@ in
|
|||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = "rss-bridge";
|
default = "rss-bridge";
|
||||||
description = ''
|
description = ''
|
||||||
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
|
Name of the nginx or caddy virtualhost to use and setup. If null, do not setup any virtualhost.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
webserver = mkOption {
|
||||||
|
type = types.nullOr (
|
||||||
|
types.enum [
|
||||||
|
"nginx"
|
||||||
|
"caddy"
|
||||||
|
]
|
||||||
|
);
|
||||||
|
default = "nginx";
|
||||||
|
description = ''
|
||||||
|
Type of virtualhost to use and setup. If null, do not setup any virtualhost.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -172,7 +186,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx = mkIf (cfg.virtualHost != null) {
|
services.nginx = mkIf (cfg.virtualHost != null && cfg.webserver == "nginx") {
|
||||||
enable = true;
|
enable = true;
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
${cfg.virtualHost} = {
|
${cfg.virtualHost} = {
|
||||||
@ -194,6 +208,19 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy = mkIf (cfg.virtualHost != null && cfg.webserver == "caddy") {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts.${cfg.virtualHost} = {
|
||||||
|
extraConfig = ''
|
||||||
|
root * ${cfg.package}
|
||||||
|
file_server
|
||||||
|
php_fastcgi unix/${config.services.phpfpm.pools.${cfg.pool}.socket} {
|
||||||
|
${lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: " env ${n} \"${v}\"") cfgEnv)}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ quantenzitrone ];
|
meta.maintainers = with lib.maintainers; [ quantenzitrone ];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user