This commit is contained in:
mjallen18
2026-02-04 20:40:34 -06:00
parent 4d4808490b
commit a9c1d71495
14 changed files with 84 additions and 192 deletions

View File

@@ -226,7 +226,10 @@ rec {
subdomain = mkOpt types.str name "subdomain of the service"; subdomain = mkOpt types.str name "subdomain of the service";
middlewares = mkOpt (types.listOf types.str) [ "crowdsec" "whitelist-geoblock" ] "List of middlewares to use"; middlewares = mkOpt (types.listOf types.str) [
"crowdsec"
"whitelist-geoblock"
] "List of middlewares to use";
}; };
# Standard enable/disable patterns # Standard enable/disable patterns

View File

@@ -286,8 +286,10 @@ in
++ (with pkgs.${namespace}; [ ++ (with pkgs.${namespace}; [
gehomesdk gehomesdk
magicattr magicattr
pyoverseerr
python-nanokvm python-nanokvm
python-roborock python-roborock
wyzeapy
]); ]);
config = { config = {

View File

@@ -8,46 +8,6 @@ with lib;
let let
cfg = config.${namespace}.services.traefik; cfg = config.${namespace}.services.traefik;
# Process extraServices into service configurations
extraServiceConfigs =
let
makeService =
service:
nameValuePair service.name {
loadBalancer.servers = [
{
url = service.url;
}
];
};
in
listToAttrs (map makeService cfg.extraServices);
# Process extraRouters into router configurations
extraRouterConfigs =
let
makeRouter =
router:
let
hostRule =
if router.subdomain == "" then
"Host(`${domain}`)"
else
"Host(`${router.subdomain}.${domain}`)";
in
nameValuePair router.subdomain {
entryPoints = router.entryPoints;
rule = hostRule;
service = router.service;
middlewares = router.middlewares ++ [
"crowdsec"
"whitelist-geoblock"
];
tls.certResolver = "letsencrypt";
};
in
listToAttrs (map makeRouter cfg.extraRouters);
# Process reverseProxies into service and router configurations # Process reverseProxies into service and router configurations
reverseProxyServiceConfigs = reverseProxyServiceConfigs =
let let
@@ -69,7 +29,6 @@ let
cacheUrl = "http://${serverIp}:9012"; cacheUrl = "http://${serverIp}:9012";
hassUrl = "http://10.0.1.4:8123"; hassUrl = "http://10.0.1.4:8123";
lubeloggerUrl = "http://${serverIp}:6754";
# Plugins # Plugins
traefikPlugins = { traefikPlugins = {
@@ -230,9 +189,11 @@ in
}; };
}; };
api.dashboard = true; # Access the Traefik dashboard on <Traefik IP>:8080
# Access the Traefik dashboard on <Traefik IP>:8080 of your server api = {
api.insecure = true; dashboard = true;
insecure = true;
};
experimental = { experimental = {
plugins = traefikPlugins; plugins = traefikPlugins;
@@ -240,22 +201,6 @@ in
}; };
dynamicConfigOptions = { dynamicConfigOptions = {
# udp = {
# services = {
# wireguard.loadBalancer.servers = [
# {
# url = "localhost:51820";
# }
# ];
# };
# routers = {
# wireguard = {
# entryPoints = [ "websecure" ];
# service = "wireguard";
# };
# };
# };
http = { http = {
middlewares = { middlewares = {
authentik = { authentik = {
@@ -323,43 +268,6 @@ in
]; ];
}; };
}; };
collabora-headers = {
headers = {
customRequestHeaders = {
Upgrade = "websocket";
Connection = "Upgrade";
X-Forwarded-Proto = "https";
X-Forwarded-Host = "office.mjallen.dev";
};
customResponseHeaders = {
X-Frame-Options = "";
Content-Security-Policy = "frame-ancestors https://cloud.mjallen.dev";
};
referrerPolicy = "no-referrer";
stsSeconds = "15552000";
stsPreload = "true";
stsIncludeSubdomains = "true";
forceSTSHeader = "true";
browserXssFilter = "true";
};
};
onlyoffice-headers = {
headers = {
customResponseHeaders = {
X-Robots-Tag = "none";
Strict-Transport-Security = "max-age=63072000";
X-Forwarded-Proto = "https";
};
browserXssFilter = "true";
contentTypeNosniff = "true";
stsIncludeSubdomains = "true";
stsPreload = "true";
stsSeconds = "31536000";
forceSTSHeader = "true";
accessControlMaxAge = "15552000";
accesscontrolalloworiginlist = "*";
};
};
}; };
services = { services = {
@@ -381,7 +289,6 @@ in
} }
]; ];
} }
// extraServiceConfigs
// reverseProxyServiceConfigs; // reverseProxyServiceConfigs;
routers = { routers = {
@@ -413,13 +320,12 @@ in
middlewares = [ middlewares = [
"crowdsec" "crowdsec"
"whitelist-geoblock" "whitelist-geoblock"
"authentik" # "authentik"
]; ];
priority = 10; priority = 10;
tls.certResolver = "letsencrypt"; tls.certResolver = "letsencrypt";
}; };
} }
// extraRouterConfigs
// reverseProxyRouterConfigs; // reverseProxyRouterConfigs;
}; };
}; };

View File

@@ -1,6 +1,5 @@
{ {
lib, lib,
stdenv,
fetchFromGitHub, fetchFromGitHub,
python3Packages, python3Packages,
... ...
@@ -29,9 +28,7 @@ python3Packages.buildPythonPackage rec {
]; ];
dependencies = dependencies = with python3Packages; [
with python3Packages;
[
aiohttp aiohttp
torch torch
torchaudio torchaudio
@@ -76,7 +73,6 @@ python3Packages.buildPythonPackage rec {
# comfy-kitchen # comfy-kitchen
# comfy-aimdo # comfy-aimdo
# pythonImportsCheck = [ "roborock" ]; # pythonImportsCheck = [ "roborock" ];
meta = with lib; { meta = with lib; {

View File

@@ -1,7 +1,6 @@
{ {
stdenv, stdenv,
lib, lib,
python3Packages,
fetchFromGitHub, fetchFromGitHub,
... ...
}: }:

View File

@@ -1,7 +1,6 @@
{ {
stdenv, stdenv,
lib, lib,
python3Packages,
fetchFromGitHub, fetchFromGitHub,
... ...
}: }:

View File

@@ -46,9 +46,7 @@ let
++ (with pkgs.${namespace}; [ ++ (with pkgs.${namespace}; [
comfy-aimdo comfy-aimdo
]); ]);
pythonEnv = python3.withPackages ( pythonEnv = python3.withPackages (_ps: dependencies);
_ps: dependencies
);
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "comfy-ui"; pname = "comfy-ui";

View File

@@ -1,9 +1,9 @@
{ python3Packages, fetchFromGitHub, lib, ... }: { python3Packages, fetchFromGitHub, ... }:
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "comfy-aimdo"; pname = "comfy-aimdo";
version = "0.1.7"; version = "0.1.7";
format = "pyproject"; format = "pyproject";
# Comfy-Org/comfy-aimdo/releases/tag/v0.1.7 # Comfy-Org/comfy-aimdo/releases/tag/v0.1.7
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Comfy-Org"; owner = "Comfy-Org";
repo = "comfy-aimdo"; repo = "comfy-aimdo";

View File

@@ -1,9 +1,9 @@
{ python3Packages, fetchurl, lib, ... }: { python3Packages, fetchurl, ... }:
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "comfy-kitchen"; pname = "comfy-kitchen";
version = "0.2.7"; version = "0.2.7";
format = "wheel"; format = "wheel";
# https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl # https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl
src = fetchurl { src = fetchurl {
url = "https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl"; url = "https://files.pythonhosted.org/packages/f8/65/d483613734d0b9753bd9bfa297ff334cb2c7766e82306099db6b259b4e2c/comfy_kitchen-0.2.7-py3-none-any.whl";
sha256 = "sha256-+PqlebadMx0vHqwJ6WqVWGwqa5WKVLwZ5/HBp3hS3TY="; sha256 = "sha256-+PqlebadMx0vHqwJ6WqVWGwqa5WKVLwZ5/HBp3hS3TY=";

View File

@@ -6,15 +6,7 @@
... ...
}: }:
let let
inherit (lib.${namespace}) enabled disabled mkContainer; inherit (lib.${namespace}) enabled disabled;
testcontainer = mkContainer {
name = "testContainer";
localAddress = "10.1.1.3";
ports = [ 80 ];
bindMounts = { };
config = { };
};
in in
{ {
imports = [ imports = [

View File

@@ -1,6 +1,4 @@
{ {
config,
lib,
pkgs, pkgs,
... ...
}: }:

View File

@@ -1,7 +1,6 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: }:
# let # let