+custom services
This commit is contained in:
@ -1,41 +1,14 @@
|
||||
{jsonConfig, ...}: {
|
||||
{jsonConfig, ...}: let
|
||||
# Get all .nix files from the hosts directory
|
||||
hostFiles = builtins.attrNames (builtins.readDir ./hosts);
|
||||
# Filter out non-.nix files
|
||||
hostModules = builtins.filter (n: builtins.match ".*\\.nix" n != null) hostFiles;
|
||||
# Import each host file and merge them
|
||||
importHost = file: import ./hosts/${file} {inherit jsonConfig;};
|
||||
virtualHosts = builtins.foldl' (acc: file: acc // (importHost file)) {} hostModules;
|
||||
in {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
virtualHosts = {
|
||||
${jsonConfig.domains.portainer} = {
|
||||
extraConfig = ''
|
||||
reverse_proxy localhost:9000
|
||||
header {
|
||||
# Security headers
|
||||
Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
||||
X-Content-Type-Options "nosniff"
|
||||
X-Frame-Options "DENY"
|
||||
Referrer-Policy "strict-origin-when-cross-origin"
|
||||
}
|
||||
'';
|
||||
};
|
||||
${jsonConfig.domains.n8n} = {
|
||||
extraConfig = ''
|
||||
reverse_proxy localhost:5678
|
||||
header {
|
||||
Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
||||
X-Content-Type-Options "nosniff"
|
||||
X-Frame-Options "DENY"
|
||||
Referrer-Policy "strict-origin-when-cross-origin"
|
||||
}
|
||||
'';
|
||||
};
|
||||
${jsonConfig.domains.baserow} = {
|
||||
extraConfig = ''
|
||||
reverse_proxy localhost:3000
|
||||
header {
|
||||
Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
||||
X-Content-Type-Options "nosniff"
|
||||
X-Frame-Options "DENY"
|
||||
Referrer-Policy "strict-origin-when-cross-origin"
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
inherit virtualHosts;
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user