From fe8a9b0b0d6eb1289973c0d59c6007ee9dade23e Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Mon, 28 Jul 2025 20:23:41 +0000 Subject: [PATCH] Add librechat config for rate limiting --- etc/librechat.yaml | 10 ++++++++++ modules/system/librechat.nix | 6 ++++++ secrets/librechat.env | 5 +++-- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 etc/librechat.yaml diff --git a/etc/librechat.yaml b/etc/librechat.yaml new file mode 100644 index 0000000..d779640 --- /dev/null +++ b/etc/librechat.yaml @@ -0,0 +1,10 @@ +version: 1.2.8 + +# Balance settings +balance: + enabled: true # Enable token credit balances for users + startBalance: 20000 # Initial tokens credited upon registration + autoRefillEnabled: true # Enable automatic token refills + refillIntervalValue: 1 # Numerical value for refill interval + refillIntervalUnit: "days" # Time unit for refill interval (days, hours, etc.) + refillAmount: 10000 # Tokens added during each refill diff --git a/modules/system/librechat.nix b/modules/system/librechat.nix index 8a9ffb0..fee1557 100644 --- a/modules/system/librechat.nix +++ b/modules/system/librechat.nix @@ -4,6 +4,12 @@ with lib; options.myModules.librechat.enable = mkEnableOption "custom librechat configuration"; config = mkIf config.myModules.librechat.enable { + environment.etc."librechat.yaml" = { + source = ../../etc/librechat.yaml; + mode = "0440"; + user = "librechat"; + group = "librechat"; + }; environment.systemPackages = [ pkgs.librechat pkgs.meilisearch diff --git a/secrets/librechat.env b/secrets/librechat.env index 74ff75b..0b5e4d1 100644 --- a/secrets/librechat.env +++ b/secrets/librechat.env @@ -3,6 +3,7 @@ ALLOW_REGISTRATION=ENC[AES256_GCM,data:pDIew/s=,iv:NzTl+HQx/lk6ex0rPrOVPmudZnraj ALLOW_SOCIAL_LOGIN=ENC[AES256_GCM,data:JMv8lw==,iv:BYDg4+qnsuQl+zNB3e2DNkvHWAEVM2rd485nQkY0nRc=,tag:oQ25zkkOMz9pJWfbrc1+Sw==,type:str] ALLOW_SOCIAL_REGISTRATION=ENC[AES256_GCM,data:ZgYLwUI=,iv:MlTloXbKexOdk2I/Jj/viE+mQ/11kXdJgtcZ77dlWmo=,tag:GNDr122ZiA0wG62DfwfWbA==,type:str] ANTHROPIC_API_KEY=ENC[AES256_GCM,data:h5tkW5xzvXxLYm7Gi1AaOjA4RE2wsPmA7ALtvCCSB9nEQe/Z4xJ9/MbzqjWJeZ3HVPgiV99hPrlY0L2Gr18Bx5OcB6PHYkuRXphOh95vSePi4YKHmaEJdqbiEYRVxsLErriRRay3FkZjGQy+,iv:D9DA98NSSUqWZDXEHhyQYK7cq4RqY8hM8qjPeTJ/7bc=,tag:apDdMhXIGxYgn2ZgNQJ4IA==,type:str] +CONFIG_PATH=ENC[AES256_GCM,data:/PnxhxdNIB36fLwV/gMJj77LH2G3,iv:d/CdNeQ10bIa+J1eARWxcH78Cey1HrZwSsm2Id5I2gA=,tag:OM/hsZMBTqquopPiib5QTQ==,type:str] CREDS_KEY=ENC[AES256_GCM,data:7g2CP+NXylm5rWRaY5KyZkmUAo9rRTwAmhZyJOjNUyk/pL6GXrnA4LqdeVwxSBCcEwMc6HnvJV+kyJHqcT8Whg==,iv:DbSh1gWVrDphF1pVghBCh52UkybeVeOMd6M8Jsb71VI=,tag:Aya8PEfwUhAov0jUqc/aXA==,type:str] CREDS_IV=ENC[AES256_GCM,data:PdHqzmCyz1PCFjtXPAXgxDVPl09y3A1X2SJTBp1ULWo=,iv:fIr9Iw3qCY4/pkPxeplNEesUt/tZZ1u3cw+0UAZkTJo=,tag:Rz7a/uMa3brQGAGwyBBkuQ==,type:str] DEBUG_LOGGING=ENC[AES256_GCM,data:TP1H8q4=,iv:27aS8J/G4xQ06xI0mtwehVzF8Vw++QC2fHRdEXdzNPM=,tag:eb13lCri0TYoEhEFV1zYvQ==,type:str] @@ -42,7 +43,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-23T00:11:00Z -sops_mac=ENC[AES256_GCM,data:hpjSuPz0nCp2EtLhzkOfTfAQDftNSOJBpXNYpeFXJFxOqbhlYY8W41SgSsG46Hb7Q4+lDSIFpnwkwHmA8GCGUvytqLRuToDBo3U9ErqQ8IGlAdX9iiYYX8vXr5sPpqGaVNrF6l19eXwYFY5TX9p16rTx6nrtd8abyZWEW9ojk5s=,iv:WX2bIRV3Ev6vFC6n5bYAbiITaj4gQGs1kw9/xKeYwwc=,tag:I4cuiYYixplLsO2ZKVneyA==,type:str] +sops_lastmodified=2025-07-28T19:59:16Z +sops_mac=ENC[AES256_GCM,data:ImYyLNAup5N8Nyo8iaUwoJwYQBAsvbDqK4If7Fkx7V5DV4xYVdtpDUZ/SMPr28V7UUzgMHHBsw15aQ/iWeDSIq3EjGDjkQq0K7it24cojlVi2aSlIEmtPTyqgBmuiz1K06NvQHEpF4RQgQNGxZBqIZOtNRlGHtHNYOi4+NdX/8I=,iv:f4i3EayNL268FhO9Gz7nZmxTCjbW1JcWDmmhk/FxvSo=,tag:CSyETyrsvNNw2Lh4FIRYeg==,type:str] sops_unencrypted_suffix=_unencrypted sops_version=3.10.2