Merge pull request 'feat(swaybg) adding bg script' (#4) from wut into main
Reviewed-on: https://git.cnix.dev/cnst/cnix/pulls/4
This commit was merged in pull request #4.
This commit is contained in:
@@ -30,6 +30,9 @@
|
|||||||
homepage-dashboard = {
|
homepage-dashboard = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
n8n = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
bazarr = {
|
bazarr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -135,6 +135,7 @@
|
|||||||
./server/sonarr
|
./server/sonarr
|
||||||
./server/jellyseerr
|
./server/jellyseerr
|
||||||
./server/jellyfin
|
./server/jellyfin
|
||||||
|
./server/n8n
|
||||||
./server/podman
|
./server/podman
|
||||||
./server/unbound
|
./server/unbound
|
||||||
./server/uptime-kuma
|
./server/uptime-kuma
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ in {
|
|||||||
};
|
};
|
||||||
homepage.description = lib.mkOption {
|
homepage.description = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "Open Source Identity and Access Management";
|
default = "An open-source IdP for modern SSO";
|
||||||
};
|
};
|
||||||
homepage.icon = lib.mkOption {
|
homepage.icon = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
|
|||||||
64
modules/server/n8n/default.nix
Normal file
64
modules/server/n8n/default.nix
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
unit = "n8n";
|
||||||
|
srv = config.server;
|
||||||
|
cfg = config.server.${unit};
|
||||||
|
in {
|
||||||
|
options.server.${unit} = {
|
||||||
|
enable = lib.mkEnableOption {
|
||||||
|
description = "Enable ${unit}";
|
||||||
|
};
|
||||||
|
configDir = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "/var/lib/${unit}";
|
||||||
|
};
|
||||||
|
url = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "${unit}.${srv.domain}";
|
||||||
|
};
|
||||||
|
homepage.name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "n8n";
|
||||||
|
};
|
||||||
|
homepage.description = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "A workflow automation platform";
|
||||||
|
};
|
||||||
|
homepage.icon = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "n8n.svg";
|
||||||
|
};
|
||||||
|
homepage.category = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "Services";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
n8n = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
traefik = {
|
||||||
|
dynamicConfigOptions = {
|
||||||
|
http = {
|
||||||
|
services.n8n.loadBalancer.servers = [{url = "http://127.0.0.1:5678";}];
|
||||||
|
routers = {
|
||||||
|
n8n = {
|
||||||
|
entryPoints = ["websecure"];
|
||||||
|
rule = "Host(`${cfg.url}`)";
|
||||||
|
service = "n8n";
|
||||||
|
tls.certResolver = "letsencrypt";
|
||||||
|
# middlewares = ["authentik"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user