add mqtt host

This commit is contained in:
XenGi 2026-08-20 21:56:36 +02:00
commit b16ceb22ee
Signed by: xengi
SSH key fingerprint: SHA256:dM+fLZGsDvyv6kunjE8bGduL24VsCFB4LEOSdmRHdG0
3 changed files with 85 additions and 0 deletions

View file

@ -273,6 +273,16 @@
./hosts/git
];
};
nixosConfigurations."mqtt" = nixpkgs.lib.nixosSystem {
#system = "x86_64-linux";
#pkgs = import nixpkgs { inherit system; };
inherit system;
modules = [
agenix.nixosModules.default
{ environment.systemPackages = [ (agenix.packages.${system}.default) ]; }
./hosts/mqtt
];
};
};
#);
}

39
hosts/mqtt/default.nix Normal file
View file

@ -0,0 +1,39 @@
{ ... }:
{
imports = [
../common.nix
../../services/openssh.nix
../../services/prometheus-node.nix
./mqtt.nix
];
networking = {
hostName = "mqtt";
firewall = {
allowedTCPPorts = [
22 # SSH
80 # HTTP/1
443 # HTTP/2
];
allowedUDPPorts = [
443 # HTTP/3
];
};
};
environment.etc."ssh/banner".text = ''
__ __
/\ \__/\ \__
___ ___ __\ \ ,_\ \ ,_\
/' __` __`\ /'__`\ \ \/\ \ \/
/\ \/\ \/\ \/\ \L\ \ \ \_\ \ \_
\ \_\ \_\ \_\ \___, \ \__\\ \__\
\/_/\/_/\/_/\/___/\ \/__/ \/__/
\ \_\
\/_/
'';
services.openssh.settings.Banner = "/etc/ssh/banner";
system.stateVersion = "26.05";
}

36
hosts/mqtt/mosquitto.nix Normal file
View file

@ -0,0 +1,36 @@
{ ... }:
{
services.mosquitto = {
enable = true;
listeners = [
{
port = 1883;
settings = {
ptotocol = "mqtt";
};
}
{
port = 8083;
settings = {
protocol = "websockets";
};
}
];
settings = {
allow_zero_length_clientid = true;
autosave_interval = 1800;
autosave_on_changes = true;
connection_messages = true;
allow_anonymous = true;
};
logDest = "stdout";
logType = [
"error"
"warning"
"notice"
"information"
];
};
}