ryot
This commit is contained in:
@@ -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";
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user