From 76e989eb394effa128b0501cfad234586ee57e8e Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Wed, 27 Dec 2023 22:12:54 -0600 Subject: [PATCH] ryot --- server/docker.nix | 11 ++++++++++- server/nginx.nix | 33 ++++++++++++++++++--------------- server/servers.nix | 7 ++++++- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/server/docker.nix b/server/docker.nix index 50d39bb..69d18c3 100644 --- a/server/docker.nix +++ b/server/docker.nix @@ -2,7 +2,8 @@ { environment.systemPackages = with pkgs; [ docker-compose ]; - virtualisation = { + virtualisation = let postgresSocket = "/run/postgresql"; + in { docker = { enable = true; enableNvidia = true; @@ -38,6 +39,14 @@ }; 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 = { autoStart = true; image = "ghcr.io/flaresolverr/flaresolverr:latest"; diff --git a/server/nginx.nix b/server/nginx.nix index e154993..f8ad0f3 100644 --- a/server/nginx.nix +++ b/server/nginx.nix @@ -6,6 +6,7 @@ let localhost = "127.0.0.1"; workstation = "192.168.1.64"; + domain = "servidos.lat"; jellyfinPort = 8096; nextcloudPort = 80; collaboraPort = 9980; @@ -17,6 +18,7 @@ let radarrPort = 7878; sonarrPort = 8989; mealiePort = 9925; + ryotPort = 8765; bazarrPort = config.services.bazarr.listenPort; kavitaPort = config.services.kavita.port; vaultPort = config.services.vaultwarden.config.ROCKET_PORT; @@ -61,19 +63,20 @@ in { ''; }; in { - "movies.servidos.lat" = proxyArr radarrPort // { }; - "indexer.servidos.lat" = proxyArr prowlarrPort // { }; - "music.servidos.lat" = proxyArr lidarrPort // { }; - "library.servidos.lat" = proxy kavitaPort // { }; - "start.servidos.lat" = proxy flamePort // { }; - "subs.servidos.lat" = proxy bazarrPort // { }; - "series.servidos.lat" = proxy sonarrPort // { }; - "vault.servidos.lat" = proxy vaultPort // { }; - "copy.servidos.lat" = proxy microbinPort // { }; - "mealie.servidos.lat" = proxy mealiePort // { }; - "qampqwn4wprhqny8h8zj.servidos.lat" = proxy secretFlamePort // { }; - "xfwmrle6h6skqujbeizw.servidos.lat" = proxy qbitPort // { }; - "audiobooks.servidos.lat" = base { + "movies.${domain}" = proxyArr radarrPort // { }; + "indexer.${domain}" = proxyArr prowlarrPort // { }; + "music.${domain}" = proxyArr lidarrPort // { }; + "library.${domain}" = proxy kavitaPort // { }; + "start.${domain}" = proxy flamePort // { }; + "subs.${domain}" = proxy bazarrPort // { }; + "series.${domain}" = proxy sonarrPort // { }; + "vault.${domain}" = proxy vaultPort // { }; + "copy.${domain}" = proxy microbinPort // { }; + "mealie.${domain}" = proxy mealiePort // { }; + "tracker.${domain}" = proxy ryotPort // { }; + "qampqwn4wprhqny8h8zj.${domain}" = proxy secretFlamePort // { }; + "xfwmrle6h6skqujbeizw.${domain}" = proxy qbitPort // { }; + "audiobooks.${domain}" = base { "/" = { proxyPass = "http://${localhost}:${toString (audiobookPort)}"; extraConfig = '' @@ -89,7 +92,7 @@ in { ''; }; }; - "flix.servidos.lat" = { + "flix.${domain}" = { forceSSL = true; enableACME = true; http2 = true; @@ -182,7 +185,7 @@ in { }; }; - "collabora.servidos.lat" = let + "collabora.${domain}" = let collaboraString = "http://${localhost}:${toString (collaboraPort)}"; collaboraProxy = { proxyPass = collaboraString; diff --git a/server/servers.nix b/server/servers.nix index 8038727..9ea8ac5 100644 --- a/server/servers.nix +++ b/server/servers.nix @@ -201,7 +201,8 @@ in { }; postgresql = { enable = true; - ensureDatabases = [ "paperless" "nextcloud" "mealie" "vaultwarden" ]; + ensureDatabases = + [ "paperless" "nextcloud" "mealie" "vaultwarden" "ryot" ]; package = pkgs.postgresql_16; ensureUsers = [ { @@ -220,6 +221,10 @@ in { name = "vaultwarden"; ensureDBOwnership = true; } + { + name = "ryot"; + ensureDBOwnership = true; + } ]; authentication = pkgs.lib.mkOverride 10 '' local all all trust