feat: several updates

This commit is contained in:
Xavier Morel
2025-12-09 14:35:20 +01:00
parent aec2e5bf63
commit a78704f30f
36 changed files with 826 additions and 150 deletions

View File

@@ -7,7 +7,7 @@ in
container = {
cores = 2;
memory = 1024;
disk = "8G";
disk = "12G";
swap = 1024;
};
system = {
@@ -32,7 +32,14 @@ in
};
logging = {
enable = true;
metricsEnable = true;
metricsEnable = false;
journalLoggers = {
authentik = "";
authentik-ldap = "";
authentik-migrate = "";
authentik-proxy = "";
authentik-worker = "";
};
};
db = {
enable = true;

View File

@@ -19,14 +19,20 @@
enable = true;
listenAddress = "0.0.0.0";
port = 9187;
openFirewall = true;
runAsLocalSuperUser = true;
};
};
logging = {
enable = true;
metricsEnable = true;
metricsEnable = false;
prometheusPorts = {
postgres = 9187;
};
journalLoggers = {
postgresql = "";
postgresqlBackup = "";
};
};
private = true;
auth = true;

View File

@@ -14,7 +14,12 @@
additionalPorts = [
53
];
udpPorts = [ 53 ];
udpPorts = [
53
67
5335 # unbound
68 # DHCP
];
importConfig = [
../config/dns-adguardhome.nix
../config/dns-unbound.nix

View File

@@ -9,7 +9,7 @@ in
container = {
cores = 1;
memory = 512;
disk = "4G";
disk = "5G";
swap = null;
};
system = {
@@ -17,10 +17,19 @@ in
importConfig = [
../config/finances-fireflyiii.nix
];
additional = {
i18n.extraLocales = [ "all" ];
};
};
logging = {
enable = true;
metricsEnable = true;
journalLoggers = {
firefly-iii-cron = "";
firefly-iii-setup = "";
nginx = "";
phpfpm-firefly-iii = "";
};
};
db = {
enable = true;

View File

@@ -12,10 +12,16 @@
importConfig = [
../config/frigate-frigate.nix
];
additional = {
hardware.graphics.enable = true;
};
};
logging = {
enable = true;
metricsEnable = true;
journalLoggers = {
frigate = "";
};
};
private = false;
auth = true;

View File

@@ -16,38 +16,18 @@ in
};
system = {
port = 8096; # jellyfin default http
additionalPorts = [ 5055 ]; # jellyseerr default
services = {
jellyfin = {
enable = true;
openFirewall = true;
# TODO: Manual bind-mount in proxmox
dataDir = "/mnt/nas/app-data/jellyfin";
logDir = "/var/log/jellyfin";
user = "root";
group = "root";
};
jellyseerr = {
enable = true;
openFirewall = true;
# TODO: Same...
configDir = "/mnt/nas/app-data/jellyseerr";
};
};
importConfig = [
../config/media-jellyfin.nix
];
};
logging = {
enable = true;
metricsEnable = true;
journalLoggers = {
jellyfin = "";
};
};
private = true;
auth = true;
otherDomains = [
{
subdomain = "flix";
port = 5055;
private = true;
auth = true;
}
];
};
}

View File

@@ -8,8 +8,8 @@
swap = 512;
};
system = {
port = 9090;
additionalPorts = [
9090
9221
];
importConfig = [

49
containers/mqtt.nix Normal file
View File

@@ -0,0 +1,49 @@
{ ... }:
let
db_pass = import ../config/_passwords.nix;
in
{
my-lxc.mqtt = {
container = {
cores = 1;
memory = 512;
disk = "5G";
swap = 512;
};
system = {
additionalPorts = [
1883
9001
];
importConfig = [
../config/mqtt-mosquitto.nix
];
};
logging = {
enable = true;
metricsEnable = true;
prometheusPorts = {
mosquitto = 9000;
};
journalLoggers.mosquitto = ''
stage.regex {
expression = "^(?P<timestamp>\\d+): (?P<client_id>\\S+) (?P<message>.*)$"
}
stage.timestamp {
source = "timestamp"
format = "Unix"
}
stage.labels {
values = {
client_id = "",
}
}
stage.output {
source = "message"
}
'';
};
private = true; # available only on private lan
auth = true; # auth overlay
};
}

View File

@@ -14,7 +14,11 @@ in
port = 8095;
additionalPorts = [
8097
9090
9000
3483
];
udpPorts = [ 3483 ];
services.music-assistant = {
enable = true;
providers = [
@@ -30,6 +34,7 @@ in
"jellyfin"
"player_group"
"ytmusic"
"squeezelite"
];
};
packages = with pkgs; [
@@ -40,6 +45,9 @@ in
logging = {
enable = true;
metricsEnable = true;
journalLoggers = {
music-assistant = "";
};
};
private = true;
auth = false;

View File

@@ -23,6 +23,9 @@ in
logging = {
enable = true;
metricsEnable = true;
journalLoggers = {
vaultwarden = "";
};
};
private = false;
auth = false;

23
containers/z2m.nix Normal file
View File

@@ -0,0 +1,23 @@
{ ... }:
{
my-lxc.z2m = {
container = {
cores = 1;
memory = 512;
disk = "6G";
swap = 512;
};
system = {
port = 80;
importConfig = [
../config/z2m-zigbee2mqtt.nix
];
};
logging = {
enable = true;
metricsEnable = true;
};
private = true; # available only on private lan
auth = true; # auth overlay
};
}