Added chatbot-ui container

This commit is contained in:
rotterdam 2023-06-01 18:30:40 -03:00
parent 29dbfbfc22
commit 3c36c4a481
6 changed files with 31 additions and 0 deletions

View file

@ -4,6 +4,7 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
agenix
bind bind
btop btop
comma comma

View file

@ -8,6 +8,7 @@ let
in { in {
services = { services = {
printing.enable = true; printing.enable = true;
flatpak.enable = true;
pipewire = { pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
@ -38,4 +39,8 @@ in {
}; };
}; };
}; };
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
};
} }

View file

@ -0,0 +1,23 @@
{ inputs, config, pkgs, lib, ... }:
{
virtualisation.oci-containers.containers."chatbot-ui" = {
image = "ghcr.io/mckaywrigley/chatbot-ui:main";
ports = [ "${config.ports.chatbot-ui}:5006" ];
environmentFiles = [ config.age.secrets.chatbot-ui-keys.path ];
extraOptions = [ "--pull=always" ];
};
services.nginx.virtualHosts."chat.baduhai.me" = {
useACMEHost = "baduhai.me";
forceSSL = true;
kTLS = true;
locations."/".proxyPass = "http://127.0.0.1:${config.ports.chatbot-ui}";
};
age.secrets.chatbot-ui-keys = {
file = ../../../secrets/chatbot-ui-keys.age;
owner = "root";
group = "root";
};
}

View file

@ -22,6 +22,7 @@ in {
whoogle = mkStringOption "8007"; whoogle = mkStringOption "8007";
qbittorrent = mkStringOption "8008"; qbittorrent = mkStringOption "8008";
actual = mkStringOption "8009"; actual = mkStringOption "8009";
chatbot-ui = mkStringOption "8010";
jellyfin = mkStringOption "8096"; jellyfin = mkStringOption "8096";
sonarr = mkStringOption "8989"; sonarr = mkStringOption "8989";
jackett = mkStringOption "9117"; jackett = mkStringOption "9117";

BIN
secrets/chatbot-ui-keys.age Normal file

Binary file not shown.

View file

@ -13,4 +13,5 @@ let
in { in {
"cloudflare-creds.age".publicKeys = all-hosts; "cloudflare-creds.age".publicKeys = all-hosts;
"paperless-pass.age".publicKeys = all-hosts; "paperless-pass.age".publicKeys = all-hosts;
"chatbot-ui-keys.age".publicKeys = all-hosts;
} }