+custom services

This commit is contained in:
m3tam3re
2025-03-13 13:42:25 +01:00
parent aa1e617e3a
commit c4bff08f72
5 changed files with 44 additions and 133 deletions

View File

@ -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;
};
}