From b5fecd199d2b739a3a4703a3e73ef20f31189d1d Mon Sep 17 00:00:00 2001 From: "sascha.koenig" Date: Tue, 7 Oct 2025 20:27:17 +0200 Subject: [PATCH] Librechat Dev -> Prod --- .../AZ-CLD-1/services/containers/baserow.nix | 7 +++- .../services/containers/librechat.nix | 9 +++--- secrets/baserow-env.age | 30 +++++++++--------- secrets/librechat-env-prod.age | Bin 3084 -> 4204 bytes 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/hosts/AZ-CLD-1/services/containers/baserow.nix b/hosts/AZ-CLD-1/services/containers/baserow.nix index b173773..cf5b6ad 100644 --- a/hosts/AZ-CLD-1/services/containers/baserow.nix +++ b/hosts/AZ-CLD-1/services/containers/baserow.nix @@ -8,7 +8,12 @@ servicePort = portUtils.getPort serviceName "AZ-CLD-1"; in { virtualisation.oci-containers.containers.${serviceName} = { - image = "docker.io/baserow/baserow:1.34.5"; + image = "docker.io/baserow/baserow:1.35.2"; + environment = { + BASEROW_AMOUNT_OF_GUNICORN_WORKERS = "4"; + BASEROW_AMOUNT_OF_WORKERS = "2"; + DATABASE_CONN_MAX_AGE = "60"; + }; environmentFiles = [config.age.secrets.baserow-env.path]; ports = ["127.0.0.1:${toString servicePort}:80"]; volumes = ["baserow_data:/baserow/data"]; diff --git a/hosts/AZ-CLD-1/services/containers/librechat.nix b/hosts/AZ-CLD-1/services/containers/librechat.nix index c32c79a..627859f 100644 --- a/hosts/AZ-CLD-1/services/containers/librechat.nix +++ b/hosts/AZ-CLD-1/services/containers/librechat.nix @@ -8,7 +8,8 @@ portUtils = import ../../../../lib/port-utils.nix {inherit lib;}; servicePort = portUtils.getPort serviceName "AZ-CLD-1"; ragApiPort = portUtils.getPort "rag-api" "AZ-CLD-1"; - envFile = config.age.secrets.librechat-env.path; + envFileProd = config.age.secrets.librechat-env-prod.path; + envFileCommon = config.age.secrets.librechat.path; in { virtualisation.oci-containers = { containers.meilisearch = { @@ -19,7 +20,7 @@ in { MEILI_HTTP_ADDR = "0.0.0.0:7700"; MEILI_NO_ANALYTICS = "true"; }; - environmentFiles = [envFile]; + environmentFiles = [envFileCommon envFileProd]; extraOptions = ["--ip=10.89.0.20" "--network=web"]; }; @@ -31,7 +32,7 @@ in { DB_HOST = "10.89.0.1"; DB_PORT = "5432"; }; - environmentFiles = [envFile]; + environmentFiles = [envFileCommon envFileProd]; dependsOn = ["meilisearch"]; extraOptions = ["--add-host=postgres:10.89.0.1" "--ip=10.89.0.21" "--network=web"]; ports = ["127.0.0.1:${toString ragApiPort}:8000"]; @@ -63,7 +64,7 @@ in { RAG_PORT = "8000"; RAG_API_URL = "http://rag_api:8000"; }; - environmentFiles = [envFile]; + environmentFiles = [envFileCommon envFileProd]; volumes = [ # Config file still needs to be a bind mount for host management "/var/lib/librechat/librechat.yaml:/app/librechat.yaml:ro" diff --git a/secrets/baserow-env.age b/secrets/baserow-env.age index febbd22..5e17881 100644 --- a/secrets/baserow-env.age +++ b/secrets/baserow-env.age @@ -1,17 +1,17 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyBSWG5p -dEhXK01Qd3A0ZVBCalVPK3VUY3R4YVlGYWxyUmtFbzVNUGt3Z1ZZCndpZklCNUNL -ZHhhSXArSi9EdEpUaGhldTd5OG5TUERsRGdMK1k2cHpyNVkKLT4gc3NoLWVkMjU1 -MTkgQ1NNeWhnIFBoOG9Xcmo1R0VGYWxwNUNYY2hWOHRHelZqT2FNUnFpVklKbnFy -S2RMejgKbUkwQVVXZVR0MVduV2JJMW5kdnZHeUdzVkdJZngwVDZJOEE4VFd5RlNP -bwotPiA9YS1ncmVhc2UgYWlhIGcrRQpHUmM4c3MrWnQxSU9pK1lLaGpPS1NCY0Q5 -U1kzUUxaRU9oNHJvb0dICi0tLSBTUXpwQjBacXB6K0Z2c1ZwOHhaU0Q2aWxLa0lU -VVlvNzg5WGZRVGZNSDdNCtVAachesDai95KPTEVFv4RjaBkVB6VqhXHDtKtD2vuu -pJhsQRNRHOrBg7p/5+rjULyioH2aH3oYsGLyFwxHtPruXyutQaYUZ3DMeob135+x -4ED8Fb1JVy5LYPg3K2ZhBBr93zyOwRSlPcDIGbvYvo+WDRUk/sL/zxm6ERG51nQu -obKY46uckC7bhmbBr2MSoP6u19C8VBR+Etgp/YPRL7PVq7mVgF+U+S/bU+fqnYyV -gl+RYhHc2Jv2AItAkTPVEu6/3CG9w3OCla4+q7yLH2CUVrymXniUAXneP+5JWIkh -TsRoEEHcjm4y5De0eyzenoRFa+M8vHbEFTd8XhMY+tzq/uP59GOabaMsHG8Kwa5V -ADQZ9pMelFp5+WKEafSNYw/W+p1oJ6CUH9+/niJZRTPGwfPQpF4Hojwpk1XQAMyV -93Kx6JImqLOT4jyeTc0QTCL2FHqnMN3cC0bKKRoSyPD9 +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyBxT291 +dDgwMkNqeWZiN0pVNzFiY1dNcWNEcFh1eGlEdXBTd0pQOG9HeGdvClhMUHUycnpR +OXhKRmVqTFBkVm85R1hhcXJ2ZDgxSTdGMEFOMnZ5cERFTkkKLT4gc3NoLWVkMjU1 +MTkgQ1NNeWhnIFRjRjdIemNyTzZrK0NHYlB6M3RCd2E4YkFsVksxbW5PekhyaVF5 +OTVxMUUKVlBkb1RZZmQyK0ZNcVVRdzkzR0Z0SVozMHptWkx4Y1JNbzZkV2V3Z2VB +dwotPiBkYC1ncmVhc2UgNmVTa2pGJHUgPisybUdIIEoyLFpuNwplWFdZOFZnCi0t +LSBCallXaXB0cEUvQjI1eU1iQVVpMWNRYTF6V1h0NXpKSGlmWnE4TVEyeHA0CmmU +AU5KRsn+YezU4GJCK5lBuVdUFEYPzz0HKkQYEN6oLkRDQ+U7/h17Fm5BsGXS5P7V ++E0k1tIfDPxnWVkQvEFvK6RDu9VnmLQeHBaS2BFw2LSA8dKWnsO1eCjYKpgxyM2W +1my2mKHpuJs/V5RrYdiaLAZSK7+ZIfqghgdRDm+uJUEOdxqFBFllBAVS9+G4dtIR +9/JrNm6ZEulGNX+orJJx6wvKJEg3HnvaQO6UGA3CuNV5+EV0LFqQUBI08HzpwrAR +nUryciib6nPc9FwS2hdmkZHN9JMFXfysxT/fn3r4L7cZDXB1qfNpxoyXa3LQ7ec6 +3jGElF1/DmXXB8dGB0xRtIz1CY43kPRgiuRYWxVdme6UdoXXwx/5SAKed3AK79/y ++4L6fejdMeXuka6ok1KzvPzoKyM3gGCUpWmRTqrSNRi/SiFJfZertQoc24fVOibj +8gfvIQoj3Qzotl425ZH3 -----END AGE ENCRYPTED FILE----- diff --git a/secrets/librechat-env-prod.age b/secrets/librechat-env-prod.age index d9ae6cc889ed23a41765f651bdbc833da3f4e10a..83e700fe80ce50fc52be7f36bdaba67e28d46bdc 100644 GIT binary patch literal 4204 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