diff --git a/systems/jeeves/mxr/default.nix b/systems/jeeves/mxr/default.nix new file mode 100644 index 0000000..85d96a7 --- /dev/null +++ b/systems/jeeves/mxr/default.nix @@ -0,0 +1,49 @@ +{ + containers.mxr = { + autoStart = true; + ephemeral = true; + config = + { + config, + pkgs, + lib, + ... + }: + { + nix.settings = { + trusted-substituters = [ + "https://cache.nixos.org" + "https://cache.tmmworkshop.com" + "https://nix-community.cachix.org" + ]; + substituters = [ + "https://cache.nixos.org/?priority=2&want-mass-query=true" + "https://cache.tmmworkshop.com/?priority=2&want-mass-query=true" + "https://nix-community.cachix.org/?priority=10&want-mass-query=true" + ]; + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "cache.tmmworkshop.com:jHffkpgbmEdstQPoihJPYW9TQe6jnQbWR2LqkNGV3iA=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + experimental-features = [ + "flakes" + "nix-command" + ]; + }; + systemd.services.mxr = { + description = "mxr"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + User = "mxr"; + Group = "mxr"; + ExecStart = "curl -s https://raw.githubusercontent.com/RichieCahill/mxr/refs/heads/main/tools/installer.py | ${pkgs.python313}/bin/python"; + Restart = "on-failure"; + }; + }; + system.stateVersion = "24.11"; + }; + }; +} diff --git a/systems/jeeves/services/haproxy.cfg b/systems/jeeves/services/haproxy.cfg index 06c369a..b5cc101 100644 --- a/systems/jeeves/services/haproxy.cfg +++ b/systems/jeeves/services/haproxy.cfg @@ -30,6 +30,7 @@ frontend ContentSwitching acl host_filebrowser hdr(host) -i filebrowser.tmmworkshop.com acl host_homeassistant hdr(host) -i homeassistant.tmmworkshop.com acl host_jellyfin hdr(host) -i jellyfin.tmmworkshop.com + acl host_mxr hdr(host) -i mxr.tmmworkshop.com acl host_share hdr(host) -i share.tmmworkshop.com acl host_uptime_kuma hdr(host) -i uptimekuma-jeeves.tmmworkshop.com @@ -38,6 +39,7 @@ frontend ContentSwitching use_backend filebrowser_nodes if host_filebrowser use_backend homeassistant_nodes if host_homeassistant use_backend jellyfin if host_jellyfin + use_backend mxr_nodes if host_mxr use_backend share_nodes if host_share use_backend uptime_kuma_nodes if host_uptime_kuma @@ -64,6 +66,10 @@ backend jellyfin http-check expect string Healthy server jellyfin 127.0.0.1:8096 +backend mxr_nodes + mode http + server server 127.0.0.1:3000 + backend share_nodes mode http server server 127.0.0.1:8091