This commit is contained in:
2023-12-27 22:12:54 -06:00
parent 5d23ff3e33
commit 76e989eb39
3 changed files with 34 additions and 17 deletions

View File

@@ -2,7 +2,8 @@
{ {
environment.systemPackages = with pkgs; [ docker-compose ]; environment.systemPackages = with pkgs; [ docker-compose ];
virtualisation = { virtualisation = let postgresSocket = "/run/postgresql";
in {
docker = { docker = {
enable = true; enable = true;
enableNvidia = true; enableNvidia = true;
@@ -38,6 +39,14 @@
}; };
extraOptions = [ "--cap-add" "MKNOD" ]; extraOptions = [ "--cap-add" "MKNOD" ];
}; };
ryot = {
image = "ghcr.io/ignisda/ryot:latest";
environment = {
DATABASE_URL = "postgres:///ryot?host=${postgresSocket}";
};
ports = [ "8765:8000" ];
volumes = [ "${postgresSocket}:${postgresSocket}" ];
};
flaresolverr = { flaresolverr = {
autoStart = true; autoStart = true;
image = "ghcr.io/flaresolverr/flaresolverr:latest"; image = "ghcr.io/flaresolverr/flaresolverr:latest";

View File

@@ -6,6 +6,7 @@
let let
localhost = "127.0.0.1"; localhost = "127.0.0.1";
workstation = "192.168.1.64"; workstation = "192.168.1.64";
domain = "servidos.lat";
jellyfinPort = 8096; jellyfinPort = 8096;
nextcloudPort = 80; nextcloudPort = 80;
collaboraPort = 9980; collaboraPort = 9980;
@@ -17,6 +18,7 @@ let
radarrPort = 7878; radarrPort = 7878;
sonarrPort = 8989; sonarrPort = 8989;
mealiePort = 9925; mealiePort = 9925;
ryotPort = 8765;
bazarrPort = config.services.bazarr.listenPort; bazarrPort = config.services.bazarr.listenPort;
kavitaPort = config.services.kavita.port; kavitaPort = config.services.kavita.port;
vaultPort = config.services.vaultwarden.config.ROCKET_PORT; vaultPort = config.services.vaultwarden.config.ROCKET_PORT;
@@ -61,19 +63,20 @@ in {
''; '';
}; };
in { in {
"movies.servidos.lat" = proxyArr radarrPort // { }; "movies.${domain}" = proxyArr radarrPort // { };
"indexer.servidos.lat" = proxyArr prowlarrPort // { }; "indexer.${domain}" = proxyArr prowlarrPort // { };
"music.servidos.lat" = proxyArr lidarrPort // { }; "music.${domain}" = proxyArr lidarrPort // { };
"library.servidos.lat" = proxy kavitaPort // { }; "library.${domain}" = proxy kavitaPort // { };
"start.servidos.lat" = proxy flamePort // { }; "start.${domain}" = proxy flamePort // { };
"subs.servidos.lat" = proxy bazarrPort // { }; "subs.${domain}" = proxy bazarrPort // { };
"series.servidos.lat" = proxy sonarrPort // { }; "series.${domain}" = proxy sonarrPort // { };
"vault.servidos.lat" = proxy vaultPort // { }; "vault.${domain}" = proxy vaultPort // { };
"copy.servidos.lat" = proxy microbinPort // { }; "copy.${domain}" = proxy microbinPort // { };
"mealie.servidos.lat" = proxy mealiePort // { }; "mealie.${domain}" = proxy mealiePort // { };
"qampqwn4wprhqny8h8zj.servidos.lat" = proxy secretFlamePort // { }; "tracker.${domain}" = proxy ryotPort // { };
"xfwmrle6h6skqujbeizw.servidos.lat" = proxy qbitPort // { }; "qampqwn4wprhqny8h8zj.${domain}" = proxy secretFlamePort // { };
"audiobooks.servidos.lat" = base { "xfwmrle6h6skqujbeizw.${domain}" = proxy qbitPort // { };
"audiobooks.${domain}" = base {
"/" = { "/" = {
proxyPass = "http://${localhost}:${toString (audiobookPort)}"; proxyPass = "http://${localhost}:${toString (audiobookPort)}";
extraConfig = '' extraConfig = ''
@@ -89,7 +92,7 @@ in {
''; '';
}; };
}; };
"flix.servidos.lat" = { "flix.${domain}" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
http2 = true; http2 = true;
@@ -182,7 +185,7 @@ in {
}; };
}; };
"collabora.servidos.lat" = let "collabora.${domain}" = let
collaboraString = "http://${localhost}:${toString (collaboraPort)}"; collaboraString = "http://${localhost}:${toString (collaboraPort)}";
collaboraProxy = { collaboraProxy = {
proxyPass = collaboraString; proxyPass = collaboraString;

View File

@@ -201,7 +201,8 @@ in {
}; };
postgresql = { postgresql = {
enable = true; enable = true;
ensureDatabases = [ "paperless" "nextcloud" "mealie" "vaultwarden" ]; ensureDatabases =
[ "paperless" "nextcloud" "mealie" "vaultwarden" "ryot" ];
package = pkgs.postgresql_16; package = pkgs.postgresql_16;
ensureUsers = [ ensureUsers = [
{ {
@@ -220,6 +221,10 @@ in {
name = "vaultwarden"; name = "vaultwarden";
ensureDBOwnership = true; ensureDBOwnership = true;
} }
{
name = "ryot";
ensureDBOwnership = true;
}
]; ];
authentication = pkgs.lib.mkOverride 10 '' authentication = pkgs.lib.mkOverride 10 ''
local all all trust local all all trust