+LibreChat +pgadmin

This commit is contained in:
sascha.koenig 2025-09-03 14:20:31 +02:00
parent bb707f6ab4
commit e3593466d7
12 changed files with 713 additions and 57 deletions

View File

@ -71,7 +71,7 @@
fd fd
gcc gcc
go go
htop btop
httpie httpie
jq jq
just just

View File

@ -73,6 +73,12 @@
cliphist = { cliphist = {
enable = true; enable = true;
}; };
remmina = {
enable = true;
systemdService = {
enable = true;
};
};
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
@ -112,7 +118,6 @@
# unzip # unzip
# usbutils # usbutils
# v4l-utils # v4l-utils
remmina
slack slack
telegram-desktop telegram-desktop
vivaldi vivaldi

View File

@ -191,13 +191,14 @@ in {
]; ];
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
"$terminal" = "uwsm app -- kitty";
bind = [ bind = [
"$mainMod, return, exec, nu -c zellij-ps" "$mainMod, return, exec, nu -c zellij-ps"
# "$mainMod, t, exec, warp-terminal" # "$mainMod, t, exec, warp-terminal"
"$mainMod, t, exec, kitty -e nu -c 'nitch; exec nu'" "$mainMod, t, exec, $terminal -e nu -c 'nitch; exec nu'"
"$mainMod SHIFT, t, exec, launch-timer" "$mainMod SHIFT, t, exec, launch-timer"
"$mainMod SHIFT, e, exec, kitty -e zellij_nvim" "$mainMod SHIFT, e, exec, $terminal -e zellij_nvim"
"$mainMod, o, exec, hyprctl setprop activewindow opaque toggle" "$mainMod, o, exec, hyprctl setprop activewindow opaque toggle"
"$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512" "$mainMod, r, exec, hyprctl dispatch focuswindow \"initialtitle:.*alert-box.*\" && hyprctl dispatch moveactive exact 4300 102 && hyprctl dispatch focuswindow \"initialtitle:.*chat-box.*\" && hyprctl dispatch moveactive exact 4300 512"
"$mainMod, b, exec, thunar" "$mainMod, b, exec, thunar"
@ -205,7 +206,9 @@ in {
"$mainMod, Escape, exec, wlogout -p layer-shell" "$mainMod, Escape, exec, wlogout -p layer-shell"
"$mainMod, Space, togglefloating" "$mainMod, Space, togglefloating"
"$mainMod, q, killactive" "$mainMod, q, killactive"
"$mainMod, M, exit" "$mainMod, M, exec, $terminal -e btop"
"$mainMod, N, exec, $terminal -e nvim"
"$mainMod, Z, exec, uwsm app -- zeditor"
"$mainMod, F, fullscreen" "$mainMod, F, fullscreen"
"$mainMod SHIFT, V, togglefloating" "$mainMod SHIFT, V, togglefloating"
"$mainMod, D, exec, rofi -show" "$mainMod, D, exec, rofi -show"

View File

@ -12,7 +12,9 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [
evince
libreoffice-fresh libreoffice-fresh
xournalpp
]; ];
}; };
} }

View File

@ -7,6 +7,9 @@
baserow-env = { baserow-env = {
file = ../../secrets/baserow-env.age; file = ../../secrets/baserow-env.age;
}; };
librechat-env = {
file = ../../secrets/librechat-env.age;
};
n8n-env = { n8n-env = {
file = ../../secrets/n8n-env.age; file = ../../secrets/n8n-env.age;
}; };
@ -14,6 +17,10 @@
file = ../../secrets/outline-env.age; file = ../../secrets/outline-env.age;
owner = "outline"; owner = "outline";
}; };
pgadmin-pw = {
file = ../../secrets/pgadmin-pw.age;
owner = "pgadmin";
};
vaultwarden-env = { vaultwarden-env = {
file = ../../secrets/vaultwarden-env.age; file = ../../secrets/vaultwarden-env.age;
}; };

View File

@ -1,6 +1,12 @@
{ {lib, ...}: {
imports = [ imports = [
./baserow.nix ./baserow.nix
./librechat.nix
./portainer.nix ./portainer.nix
]; ];
system.activationScripts.createPodmanNetworkWeb = lib.mkAfter ''
if ! /run/current-system/sw/bin/podman network exists web; then
/run/current-system/sw/bin/podman network create web --subnet=10.89.0.0/24 --internal
fi
'';
} }

View File

@ -0,0 +1,109 @@
{
config,
pkgs,
...
}: let
envFile = config.age.secrets.librechat-env.path;
in {
virtualisation.oci-containers = {
containers.meilisearch = {
image = "getmeili/meilisearch:v1.12.3";
autoStart = true;
volumes = ["librechat_meili:/meili_data"];
environment = {
MEILI_HTTP_ADDR = "0.0.0.0:7700";
MEILI_NO_ANALYTICS = "true";
};
environmentFiles = [envFile];
extraOptions = ["--ip=10.89.0.20" "--network=web"];
};
containers.rag_api = {
image = "ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest";
autoStart = true;
environment = {
RAG_PORT = "8000";
# pgvector connection to host Postgres
DB_HOST = "10.89.0.1"; # your host on the 'web' network
DB_PORT = "5432";
# embeddings: pick one (OpenAI default, or HF/Ollama per docs)
# EMBEDDINGS_PROVIDER = "openai";
# RAG_OPENAI_API_KEY is read by RAG API (can also use OPENAI_API_KEY).
};
environmentFiles = [envFile];
dependsOn = ["meilisearch"];
extraOptions = ["--add-host=postgres:10.89.0.1" "--ip=10.89.0.21" "--network=web"];
ports = ["127.0.0.1:8000:8000"]; # optional: expose to host for debugging
};
containers.mongodb = {
image = "mongo:7";
autoStart = true;
volumes = [
"librechat_mongo:/data/db"
"/var/backup/mongodb:/data/backups"
];
# Enable auth once users exist; see Mongo auth doc.
# command = [ "mongod", "--auth" ];
extraOptions = ["--ip=10.89.0.22" "--network=web"];
};
containers.librechat = {
image = "ghcr.io/danny-avila/librechat-dev-api:latest";
autoStart = true;
ports = ["127.0.0.1:3040:3080"];
dependsOn = ["mongodb" "rag_api" "meilisearch"];
environment = {
HOST = "0.0.0.0";
NODE_ENV = "production";
# Mongo URI (start without auth; switch to mongodb://user:pass@mongodb:27017/LibreChat after Step 4)
MONGO_URI = "mongodb://mongodb:27017/LibreChat";
MEILI_HOST = "http://meilisearch:7700";
RAG_PORT = "8000";
RAG_API_URL = "http://rag_api:8000";
};
environmentFiles = [envFile];
volumes = [
# Config file still needs to be a bind mount for host management
"/var/lib/librechat/librechat.yaml:/app/librechat.yaml:ro"
# Use named volumes for application data
"librechat_images:/app/client/public/images"
"librechat_uploads:/app/uploads"
"librechat_logs:/app/api/logs"
];
extraOptions = ["--ip=10.89.0.23" "--network=web"];
};
};
systemd.services."mongo-nightly-dump" = {
serviceConfig = {
Type = "oneshot";
ExecStart = ''
${pkgs.podman}/bin/podman exec mongodb \
sh -lc 'mongodump --uri="mongodb://adminUser:securePassword@localhost:27017/?authSource=admin" \
--out /data/backups/$(date +%F)'
'';
ExecStartPost = ''
# Clean up old backups from within the container
${pkgs.podman}/bin/podman exec mongodb \
sh -lc 'find /data/backups -maxdepth 1 -type d -mtime +14 -exec rm -rf {} +'
'';
};
};
systemd.timers."mongo-nightly-dump" = {
wantedBy = ["timers.target"];
timerConfig.OnCalendar = "daily";
timerConfig.RandomizedDelaySec = "15m";
};
services.traefik.dynamicConfigOptions.http = {
services.librechat.loadBalancer.servers = [{url = "http://localhost:3040/";}];
routers.librechat = {
rule = "Host(`chat.az-gruppe.com`)";
tls.certResolver = "ionos";
service = "librechat";
entrypoints = "websecure";
};
};
}

View File

@ -1,4 +1,8 @@
{pkgs, ...}: { {
config,
pkgs,
...
}: {
services.postgresql = { services.postgresql = {
enable = true; enable = true;
enableTCPIP = true; enableTCPIP = true;
@ -18,6 +22,10 @@
CREATE DATABASE kestra; CREATE DATABASE kestra;
ALTER DATABASE kestra OWNER to kestra; ALTER DATABASE kestra OWNER to kestra;
CREATE USER librechat_rag WITH ENCRYPTED PASSWORD 'librechat_rag';
CREATE DATABASE librechat_rag;
ALTER DATABASE librechat_rag OWNER to librechat_rag;
CREATE USER n8n WITH ENCRYPTED PASSWORD 'n8n'; CREATE USER n8n WITH ENCRYPTED PASSWORD 'n8n';
CREATE DATABASE n8n; CREATE DATABASE n8n;
ALTER DATABASE n8n OWNER to n8n; ALTER DATABASE n8n OWNER to n8n;
@ -53,6 +61,7 @@
# Podman network connections for Baserow # Podman network connections for Baserow
host baserow baserow 10.89.0.0/24 scram-sha-256 host baserow baserow 10.89.0.0/24 scram-sha-256
host kestra kestra 10.89.0.0/24 scram-sha-256 host kestra kestra 10.89.0.0/24 scram-sha-256
host librechat_rag librechat_rag 10.89.0.0/24 scram-sha-256
# Deny all other connections # Deny all other connections
local all all reject local all all reject
@ -63,7 +72,23 @@
services.postgresqlBackup = { services.postgresqlBackup = {
enable = true; enable = true;
startAt = "03:10:00"; startAt = "03:10:00";
databases = ["baserow" "kestra" "n8n" "outline" "vaultwarden"]; databases = ["baserow" "kestra" "librechat_rag" "n8n" "outline" "vaultwarden"];
};
services.pgadmin = {
enable = true;
initialPasswordFile = "${config.age.secrets.pgadmin-pw.path}";
initialEmail = "sascha.koenig@azintec.com";
};
# Traefik configuration specific to baserow
services.traefik.dynamicConfigOptions.http = {
services.pgadmin.loadBalancer.servers = [{url = "http://localhost:5050/";}];
routers.pgadmin = {
rule = "Host(`pg.az-gruppe.com`)";
tls.certResolver = "ionos";
service = "pgadmin";
entrypoints = "websecure";
};
}; };
networking.firewall = { networking.firewall = {
extraCommands = '' extraCommands = ''

View File

@ -21,6 +21,7 @@
users.users."sascha.koenig" = { users.users."sascha.koenig" = {
hashedPassword = "$y$j9T$ORX4btVZgs9Xjq2oIvzJm0$lXiPwaa0D6t.eMDIx1UBesEAMOkWXBoGwpeI7X0aS8D"; hashedPassword = "$y$j9T$ORX4btVZgs9Xjq2oIvzJm0$lXiPwaa0D6t.eMDIx1UBesEAMOkWXBoGwpeI7X0aS8D";
isNormalUser = true; isNormalUser = true;
shell = pkgs.nushell;
group = "sascha.koenig"; group = "sascha.koenig";
extraGroups = [ extraGroups = [
"wheel" "wheel"

View File

@ -18,6 +18,7 @@ in {
"secrets/n8n-env.age".publicKeys = systems ++ users; "secrets/n8n-env.age".publicKeys = systems ++ users;
"secrets/n8n-db.age".publicKeys = systems ++ users; "secrets/n8n-db.age".publicKeys = systems ++ users;
"secrets/outline-env.age".publicKeys = systems ++ users; "secrets/outline-env.age".publicKeys = systems ++ users;
"secrets/pgadmin-pw.age".publicKeys = systems ++ users;
"secrets/vaultwarden-env.age".publicKeys = systems ++ users; "secrets/vaultwarden-env.age".publicKeys = systems ++ users;
"secrets/vaultwarden-db.age".publicKeys = systems ++ users; "secrets/vaultwarden-db.age".publicKeys = systems ++ users;
} }

View File

@ -1,30 +1,516 @@
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyBBN3d1 YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyAzd1Fq
NS9RQWw2VUM1QysrQ0dNQ0h1RHd0bnU3OTE2TDlKeEQ3d1lKazNrCnM4NHozM244 ZXhkOGZubDRkK09FTUZxMHBCNDRTbTVhMkZ5L2t6KzBYSSsvRWtrCmhIMndKNTl1
Ym13WVV2bVl0cVJaOUlzR1lyTklHWTZFUnROMHJmeXNnekUKLT4gc3NoLWVkMjU1 bTc3S0J5bWVla2ZXQXJHblNMSDhtWi9uL0dWaTMwODRHVlkKLT4gc3NoLWVkMjU1
MTkgQ1NNeWhnIFlxNGthM0JzQU9kdGxJR0gvL0NSQW5aMFFvWmRuYk91WDh0UHhv MTkgQ1NNeWhnIGVrVTRWeWNFYTlKZkFKcEpsaThpR3lucHgwTXd0djdvazUzV2Ji
RCtsQlUKUndkZUpaNm41MjZHR0pNajRVbnNyaUNld0lVN3E0TkFVL3FWenBPc2t2 YlZWQVkKK3cyclY2cmRNSktFMkVJTmE1dXBQQzVwdXU4aUdVUyt1cG94a1dZamx6
awotPiByIidnKi1ncmVhc2UgRyBoIGBiClJkYXFaT2dKdUdpQlYySUh2MkxzUWhq MAotPiBlYHRBRnUtLWdyZWFzZSBfUGc4b24gaSsjClgxSjEyNUtyeW9JOGZxSm1z
UlloTEdOeE5LUzc1TwotLS0gNytOS05WWW91T0pDbk5sZFVmOW1Za0RiZmpucnRm OWFtVG5QUGNuaExoRnp5RWd6bDhrcGlZa2dnZGtEdHhxbUQwSkVEbk01ZFhmUU4K
VEZZV3JLRm5YMHh6WQp6c7dlv1yOwJJW6/ShUQxszI9OZ61EJFOgRLpS12MAEo9F NEI0ejdOWGNBKzA4bFYyK1RoUkVITHpvbEJLTGQxTURmWmNZMmdISG1kemlic1JD
ZEsGrHN2NpQB6m0G920kz1dZlURcDWbzrKFPWGJbrAnGbmKsOejfx8B41H6aEode eXNyOW9nCi0tLSBqSElTWnpKVEM1Z0I1QldDWitFbnFEaFJqTjdKTW95U3FFMElq
/0cHdTndj+Ev4SJZ9AAYpJR3shOGy/0165IBWBejw6hNs1pEfQ1JxMszleVMenYh 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
XyCv8Gub0S70BhjOH3t67J8xfP0sHbw=
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----

11
secrets/pgadmin-pw.age Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFpoVnNlZyA5SWxZ
bEp2QXh0RkwwQUVtYmRvN0FoZ0NrK0dkdTlCQTlGc3hVcUsrSVZnCjMzeGFvZDls
MnZGT1Y5Rjdqc2ttYWxpZWsyMXNhSncvUEt5bEdScHRiQzgKLT4gc3NoLWVkMjU1
MTkgQ1NNeWhnIFRsaXhkVTQxS2ZHMVpWZUlERmJsTU1sVWhkbzdFVGJoaXFsdmI4
My92RVEKdnZJdE9vREtYZWx1RDJzTFBHNDl4RC90dzg5emJHTHZjNWVtMWtXR25Q
NAotPiBFVG18SjchOy1ncmVhc2UgK1d6KyBMSm1uWgozYitEL2ZvWmJkUUNFUzlT
SXhKWlRKNTV2UGMreGRsSEJHWWhBdm1kaTNJeWpDSQotLS0gbnZVWnBRNDUxZFd5
RjNnUGU4dHkxeGlueXZ6b21ZTS8yZDlZZGk4UE5EVQomIhAbsHPHWfyG3gniaOJ5
7r6dq2UzBrSFC5SfguKEbqJjd9GxUaeRmBM8trPAQK00MKofcIk=
-----END AGE ENCRYPTED FILE-----