From 36cb54390f0baf6619a0de789d344d5d06b2ecb2 Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Fri, 14 Jun 2024 15:17:11 -0600 Subject: [PATCH] jellfin cronjobs --- hosts/miniserver/servers.nix | 25 ------------------------- modules/servers.nix | 5 ++++- modules/servers/jellyfin.nix | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 27 deletions(-) diff --git a/hosts/miniserver/servers.nix b/hosts/miniserver/servers.nix index c7f56d7..c7a16c1 100644 --- a/hosts/miniserver/servers.nix +++ b/hosts/miniserver/servers.nix @@ -146,31 +146,6 @@ in { ''; }; }; - systemd = { - services = { - # sub-sync = { - # restartIfChanged = true; - # description = "syncronizes subtitles downloaded & modified today"; - # wantedBy = [ "default.target" ]; - # path = [ pkgs.bash pkgs.nix jawzSubs ]; - # serviceConfig = { - # Restart = "on-failure"; - # RestartSec = 30; - # ExecStart = "${jawzSubs}/bin/sub-sync all"; - # Type = "forking"; - # User = "root"; - # }; - # }; - }; - timers = { - # sub-sync = { - # enable = true; - # description = "syncronizes subtitles downloaded & modified today"; - # wantedBy = [ "timers.target" ]; - # timerConfig = { OnCalendar = "22:00"; }; - # }; - }; - }; networking = { firewall = let open_firewall_ports = [ config.services.paperless.port ]; diff --git a/modules/servers.nix b/modules/servers.nix index b82d730..356df48 100644 --- a/modules/servers.nix +++ b/modules/servers.nix @@ -20,7 +20,10 @@ in { }; config = { my.servers = { - jellyfin.enable = lib.mkDefault false; + jellyfin = { + enable = lib.mkDefault false; + enableCron = lib.mkDefault false; + }; nextcloud = { enable = lib.mkDefault false; enableCron = lib.mkDefault false; diff --git a/modules/servers/jellyfin.nix b/modules/servers/jellyfin.nix index d1c27de..1bc69b5 100644 --- a/modules/servers/jellyfin.nix +++ b/modules/servers/jellyfin.nix @@ -3,7 +3,10 @@ let localhost = config.my.servers.settings.localhost; port = 8096; in { - options.my.servers.jellyfin.enable = lib.mkEnableOption "enable"; + options.my.servers.jellyfin = { + enable = lib.mkEnableOption "enable"; + enableCron = lib.mkEnableOption "enable"; + }; config = lib.mkIf config.my.servers.jellyfin.enable { environment.systemPackages = [ pkgs.jellyfin-ffmpeg ]; services = { @@ -99,5 +102,33 @@ in { }; }; }; + systemd = lib.mkIf config.my.servers.jellyfin.enableCron { + services = { + sub-sync = let + sub-sync = pkgs.writeScriptBin "nextcloud-cronjob" + (builtins.readFile ../../scripts/sub-sync.sh); + in { + restartIfChanged = true; + description = "syncronizes subtitles downloaded & modified today"; + wantedBy = [ "default.target" ]; + path = [ pkgs.nix sub-sync ]; + serviceConfig = { + Restart = "on-failure"; + RestartSec = 30; + ExecStart = "${sub-sync}/bin/sub-sync all"; + Type = "forking"; + User = "root"; + }; + }; + }; + timers = { + sub-sync = { + enable = true; + description = "syncronizes subtitles downloaded & modified today"; + wantedBy = [ "timers.target" ]; + timerConfig = { OnCalendar = "20:00"; }; + }; + }; + }; }; }