feat(homebox01): init

This commit is contained in:
Constantin Gierczak--Galle 2024-12-05 10:57:36 +01:00
parent 51aaa9a80d
commit ecb3bf02f5
No known key found for this signature in database
7 changed files with 113 additions and 0 deletions

View file

@ -0,0 +1,24 @@
{ lib, ... }:
lib.extra.mkConfig {
enabledModules = [
# List of modules to enable
];
enabledServices = [
# List of services to enable
"homebox"
"nginx"
];
extraConfig = {
networking = {
firewall.allowedTCPPorts = [
80
443
];
};
};
root = ./.;
}

View file

@ -0,0 +1,34 @@
{ lib, modulesPath, ... }:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot = {
loader.systemd-boot.enable = true;
initrd.kernelModules = [ ];
kernelModules = [ ];
extraModulePackages = [ ];
initrd.availableKernelModules = [
"ata_piix"
"uhci_hcd"
"virtio_pci"
"virtio_scsi"
"sd_mod"
"sr_mod"
];
};
fileSystems."/" = {
device = "/dev/disk/by-partlabel/disk-sda-root";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-partlabel/disk-sda-ESP";
fsType = "vfat";
};
networking.useDHCP = lib.mkDefault false;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -0,0 +1,16 @@
{ sources, ... }:
{
services.homebox = {
enable = true;
settings = {
HBOX_OPTIONS_ALLOW_REGISTRATION = "true";
};
};
services.nginx.virtualHosts."homebox.cgiga.fr" = {
enableACME = true;
forceSSL = true;
serverAliases = [ ];
locations."/".proxyPass = "http://localhost:7745/";
};
}

View file

@ -0,0 +1,11 @@
{
services.nginx = {
enable = true;
recommendedTlsSettings = true;
recommendedOptimisation = true;
recommendedGzipSettings = true;
recommendedProxySettings = true;
clientMaxBodySize = "500m";
};
}

View file

@ -0,0 +1,3 @@
(import ../../../keys).mkSecrets [ "homebox01" ] [
# List of secrets for router02
]

View file

@ -16,6 +16,23 @@
hostId = "1758233d"; hostId = "1758233d";
}; };
homebox01 = {
interfaces = {
ens18 = {
ipv4 = [
{
address = "129.199.146.102";
prefixLength = 24;
}
];
gateways = [ "129.199.146.254" ];
enableDefaultDNS = true;
};
};
hostId = "ef3bd5c0";
};
krz01 = { krz01 = {
interfaces = { interfaces = {
vmbr0 = { vmbr0 = {

View file

@ -36,6 +36,14 @@
stateVersion = "24.05"; stateVersion = "24.05";
nixpkgs = "unstable"; nixpkgs = "unstable";
}; };
homebox01 = {
site = "pav01";
hashedPassword = "$y$j9T$eNZQgDN.J5y7KTG2hXgat1$J1i5tjx5dnSZu.C9B7swXi5zMFIkUnmRrnmyLHFAt8/";
stateVersion = "24.05";
nixpkgs = "unstable";
};
labcore01 = { labcore01 = {
site = "pav01"; site = "pav01";