From aa5190781234170cb2bf42ee1cbbc0fcf82de1b1 Mon Sep 17 00:00:00 2001 From: sid Date: Tue, 19 May 2026 00:26:20 +0200 Subject: [PATCH] add librechat-oci --- constants.nix | 4 +++ hosts/rx4/services/default.nix | 1 + hosts/rx4/services/librechat-oci.nix | 44 ++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 hosts/rx4/services/librechat-oci.nix diff --git a/constants.nix b/constants.nix index 805fbf9..7b3578e 100644 --- a/constants.nix +++ b/constants.nix @@ -25,6 +25,10 @@ rec { subdomain = "f"; fqdn = subdomain + "." + domain; }; + librechat-oci = { + fqdn = "lc." + domain; + port = 3080; + }; mailserver = rec { subdomain = "mail"; fqdn = subdomain + "." + domain; diff --git a/hosts/rx4/services/default.nix b/hosts/rx4/services/default.nix index 6cb2dc6..8db7081 100644 --- a/hosts/rx4/services/default.nix +++ b/hosts/rx4/services/default.nix @@ -13,6 +13,7 @@ ./forgejo.nix ./jirafeau.nix + ./librechat-oci.nix ./miniflux.nix ./netdata.nix ./nginx.nix diff --git a/hosts/rx4/services/librechat-oci.nix b/hosts/rx4/services/librechat-oci.nix new file mode 100644 index 0000000..07ab8d3 --- /dev/null +++ b/hosts/rx4/services/librechat-oci.nix @@ -0,0 +1,44 @@ +{ + inputs, + constants, + config, + ... +}: + +let + inherit (constants) domain; + inherit (constants.hosts.rx4) ip; + inherit (constants.services.librechat-oci) fqdn port; +in +{ + imports = [ + inputs.synix.nixosModules.librechat-oci + ]; + + services.librechat-oci = { + enable = true; + inherit port; + externalUrl = "https://${fqdn}"; + }; + + services.nginx.virtualHosts."${fqdn}" = { + useACMEHost = fqdn; + forceSSL = true; + listen = [ + { + addr = "${ip}:443"; + ssl = true; + } + ]; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString port}"; + proxyWebsockets = true; + }; + }; + + security.acme.certs."${fqdn}" = { + domain = fqdn; + postRun = "systemctl restart podman-librechat.service"; + group = "nginx"; + }; +}