Get librechat working

With these changes I have librechat running and being properly
reverse-proxied and I can login via SSO. I was not able to get a
reasonable response yet from Claude.
This commit is contained in:
Eli Ribble 2025-07-21 20:14:35 +00:00
parent 049565c491
commit d4a75abe51
5 changed files with 60 additions and 3 deletions

View file

@ -18,6 +18,7 @@
let
allowed-unfree-packages = [
"corefonts"
"mongodb"
];
configFiles = pkgs.stdenv.mkDerivation {
name = "config-files";

View file

@ -9,6 +9,7 @@
caddy.enable = true;
cloud-init.enable = false;
do-agent.enable = true;
librechat.enable = true;
podman.enable = true;
sillytavern.enable = false;
};

View file

@ -9,6 +9,7 @@
./do-agent.nix
./element-web.nix
./fish.nix
./librechat.nix
./openssh.nix
./podman.nix
./seafile.nix

View file

@ -0,0 +1,52 @@
{ pkgs, lib, config, ... }:
with lib;
{
options.myModules.librechat.enable = mkEnableOption "custom librechat configuration";
config = mkIf config.myModules.librechat.enable {
environment.systemPackages = [
pkgs.librechat
];
services.caddy.virtualHosts."ai.gleipnir.technology".extraConfig = ''
reverse_proxy http://localhost:10050
'';
services.mongodb = {
enable = true;
};
sops.secrets.librechat-env = {
format = "dotenv";
group = "librechat";
mode = "0440";
owner = "librechat";
restartUnits = ["librechat"];
sopsFile = ../../secrets/librechat.env;
};
systemd.services.librechat = {
after=["network.target" "network-online.target"];
description="Self-hosted LLM chat frontend";
documentation=["https://www.librechat.ai/docs"];
requires=["network-online.target"];
serviceConfig = {
EnvironmentFile="/var/run/secrets/librechat-env";
Type = "simple";
User = "librechat";
Group = "librechat";
ExecStart = "${pkgs.librechat}/bin/librechat-server";
TimeoutStopSec = "5s";
PrivateTmp = true;
WorkingDirectory = "/opt/librechat";
};
wantedBy = ["multi-user.target"];
};
systemd.tmpfiles.rules = [
"d /opt/librechat 0755 librechat librechat"
];
users.groups.librechat = {};
users.users.librechat = {
group = "librechat";
isNormalUser = false;
isSystemUser = true;
};
};
}

View file

@ -7,6 +7,8 @@ JWT_SECRET=ENC[AES256_GCM,data:i49UDNjY23RnDR0DD0Bxy7c0LRLZ0ghWHoNipuy3CytJXozGd
JWT_REFRESH_SECRET=ENC[AES256_GCM,data:RBV7SiQdF4Z+/UwL3ZVKL1F4Q9hgFgna9XLFJoH1nbthyd5HbIgrcNukVTErBXyX4i1tzGPHinlA47PeGmvzfQ==,iv:B7kB2u0tcBXvVPyPA4FXJ4OONH9MQMW7c69OnlahZ/s=,tag:rFvrTMibyBLdTnMEHamjRg==,type:str]
MEILI_MASTER_KEY=ENC[AES256_GCM,data:IE7MYj8labkJkMEENZ6uzVx56s6g+f7JHgyy1orNlYY=,iv:uT2YYuGIrkyV23e1d/qsSFn9zIbCsnIX6jyXsBADq6A=,tag:Vl0zXCZNlDdDa96bTczcZA==,type:str]
MONGO_URI=ENC[AES256_GCM,data:kFGetISiqS7KI7S/naIldKREPzytxaQn5g==,iv:LCf/llNHEQilCQaU+gu+hOxxrGdhp3/c+JiaP5y4pWM=,tag:ZU2LZCV+hqNd7JOqA6gOdQ==,type:str]
DEBUG_LOGGING=ENC[AES256_GCM,data:TP1H8q4=,iv:27aS8J/G4xQ06xI0mtwehVzF8Vw++QC2fHRdEXdzNPM=,tag:eb13lCri0TYoEhEFV1zYvQ==,type:str]
DEBUG_CONSOLE=ENC[AES256_GCM,data:nTfOpYo=,iv:vlHoSAOUO+Cv19Myg9nTmavEJpfiHOglpKXxkdRp1EY=,tag:QwYTXeykOMKflHfcIxhstA==,type:str]
DOMAIN_CLIENT=ENC[AES256_GCM,data:K7OLRb4xP70aQ/zItSbxsCtLIjxLnRT/PkA0SjdW,iv:AJjLIU12cMY4R1pUaxfnLyEcppy335Oym+gdIWWcMck=,tag:BlZ1UaipeZhg2QnaSSEYrA==,type:str]
DOMAIN_SERVER=ENC[AES256_GCM,data:/yXEdixU7Pq0jx22cw/sz3pgbWXfWem1BHmLJ1LI,iv:WXFPLVZ+LMdLkk4px8HUhZrsg0T1ORnAjlWdi3af5+M=,tag:39gV5ZjDux0XhvkaKuZXiw==,type:str]
NO_INDEX=ENC[AES256_GCM,data:4ALRXw==,iv:he85VQ/H7NXhQmshYIZME3lN3hkO49fnYT8Qh9QO2lw=,tag:3mNaTa/7uVMWTB0IyDxezw==,type:str]
@ -15,7 +17,7 @@ ANTHROPIC_MODELS=ENC[AES256_GCM,data:8b91KAT3PO16qsT5iDZIWyFJToX8q+9IkviPiKOQzgG
OPENID_CLIENT_ID=ENC[AES256_GCM,data:AsF2ReMjdgEAe9Jf7F+37tA06iuAGxMLwvyYL1FJXLY+xFVB2pk4/Q==,iv:Bb5a1KBI+Uo5wYOlgLNdQMTi3BMRZhRSzGkEds1Tv/w=,tag:0gjJHgjSlu9EZ0KJwOSdbA==,type:str]
OPENID_CLIENT_SECRET=ENC[AES256_GCM,data:BXiSAzOGPKkZk46ot5jE84QPF5Kxv/+Bo3scN6+8mGRlVNlDOVOZB2iadOo9lUz78Ubj0SdukqCyhRsAdNY4Kyo7DNPnJU9sHNOmfH6t19sk5WSHUnad00kRH0O0f93f4MllCRjAVmIsqPzcO/fth3QDhTlDRBJvwDypgunRNJg=,iv:zNVlfSP89UyU9yk/Lcr2KLKy6D/G1LkQOdZzup6ZfMU=,tag:AKAo7wgdCp0nuFl/bSUQQQ==,type:str]
OPENID_IMAGE_URL=ENC[AES256_GCM,data:Uqcpn+qPv66W4TP0bzhB5kueKjz0pCzxgoTgl/sTnNG4745F3Y1uuirQpj1z6omQgX5eGNcH6YlATv4=,iv:lF7JB703cDlo30UzXsiaIBU5oyJy8HKhYk7PB6sAq24=,tag:XOWAnqLJXpI8YbCceEwqUg==,type:str]
OPENID_ISSUER=ENC[AES256_GCM,data:hZv0LuDY5LGdc9Nupl2xkt1ltc0c1nP5yujRnzjkI6Ux/uuGblTBm1ki0Ix9kqhMPbDHzamUdb5PB2f7/tSbU+tt8CpCw4HLr0m7ODIMfxriKc7M6B07Mu4b,iv:YTxPj8ASa6Fm8787cTmZmNoVplYDsdBAnT5CEaRAKEo=,tag:Wywx+g8nVnxGQM3w9NLrLA==,type:str]
OPENID_ISSUER=ENC[AES256_GCM,data:STDmpARJ6eckTHKgU5LMy6YB/kwvBwW1RS6T5ABSOHNKn6RAE7AK0AixjWXPjF9HyVMspTlGez7a/9y5Pqu3g6loE4AOrn+3ymL56atZ3+b+vcaO397UQH/u,iv:UNkvkQV3/eUz29bz6zmKOclogOYaTI4leDVIR6Zx5FM=,tag:Sjl4q7r+4Cfmcpw6HaejtQ==,type:str]
OPENID_SESSION_SECRET=ENC[AES256_GCM,data:GDljJMWalWPxwNUUHabWrmNviQ9YH8kkH8Q8mEApghoYZxK3,iv:/AfcVFGn/R+UfEj0OMtbb/8iQnB6KKFTwEW0s14RcXU=,tag:drOzahVhTqWUg2GwNRyrcQ==,type:str]
OPENID_SCOPE=ENC[AES256_GCM,data:w7kyJDR4uPKGFihIwLP8qYI7cv8=,iv:mVaSBvlyDUs5QLHAmXZMxliBDB2Z4k25tkT30rlZTyM=,tag:QNB2UHaZgCZADMqLIDEdHA==,type:str]
OPENID_CALLBACK_URL=ENC[AES256_GCM,data:wK2W107IUkSP0S0qz3lIDHllFyXTUw==,iv:Hu92cIiWUYKcOj0hIb9fGOcqbkrhTC8RLygRRe5I9V8=,tag:dL+1FuiY+d2JSzr3vgNx4g==,type:str]
@ -33,7 +35,7 @@ sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb2
sops_age__list_2__map_recipient=age1kgwk20cc6t68kqj5nhem6swvx6k4e7zjx2xdwy382360h8tdyqrq0nn3gf
sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnWkhmQ3NmYUVybzl5b3d2\ncGRBb2dHdDhiUEw2eU0welVmRXk2ak1nMVJVCnNnemR3ckFIYWtqSHV3VXZkWjZZ\nSXY3MGhQSkNQdy9lY21LTFFicEFsejQKLS0tIC8vckx1SmxnWCtNMTBlYjlmUUNm\ncHNJNlJMWkQ5YTlURDZRZUFrZ1BHdTgKLjxOPzdSKxbtO6o+fyzEfr1huOyQydH+\nSq+KO0ua6u2wGFylPkAzZ8MyH6JHEjpTYj4vIXrXMLBHWckEGuQFiQ==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_3__map_recipient=age1t3ryfktuhr3cysf49m9q2n8fkjf9ajjjnhztxw9hz8paxgk4lpcq065jge
sops_lastmodified=2025-07-21T19:29:23Z
sops_mac=ENC[AES256_GCM,data:37qwziGXAr+FXfFkeKXRRLc6GDq9LsYhsiTWm1gKaXvQnvKVLHkzeICWpCtruhHAwtZ3a7LouDdAFd3o1ZDXTFRE9OyIiqRLEtf6hEV1n7DPViBF8/0v+MlVeVr1rQoDip2UDWmtZt0g5q8xdd5soAby20HPoCrJTO43pQN89GI=,iv:+SyJHSFJyVwuSmY7afTEhSXtxtfBjeR+pFLFkOVx02I=,tag:wx2rF6qnyjD1iMFm3Pd6CQ==,type:str]
sops_lastmodified=2025-07-21T20:10:22Z
sops_mac=ENC[AES256_GCM,data:MccusdAI4b8ot4/bRTsMT1E4pTTrCxHkttJLSmjrup11WQWhMdRymkESanbsQ9kS9ffWEDKzNLM4AX7Uq4OPYFvqtqHzheQ9d85/c5Q5xEbbozdUX6r7ejmA7ieZq0TbepoA8NsJqymRMnpgQmvwc5BRxZSWXkyvVOxXByC+PYQ=,iv:PJbGO0nw0j+aO68rg3FuiiXsgjayGMXs+HPtKcZqeFk=,tag:z7iOx7OgfI8/IK/J1ke5sA==,type:str]
sops_unencrypted_suffix=_unencrypted
sops_version=3.10.2