jellfin cronjobs

This commit is contained in:
Danilo Reyes 2024-06-14 15:17:11 -06:00
parent a24ed21f39
commit 36cb54390f
3 changed files with 36 additions and 27 deletions

View File

@ -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 = { networking = {
firewall = let open_firewall_ports = [ config.services.paperless.port ]; firewall = let open_firewall_ports = [ config.services.paperless.port ];

View File

@ -20,7 +20,10 @@ in {
}; };
config = { config = {
my.servers = { my.servers = {
jellyfin.enable = lib.mkDefault false; jellyfin = {
enable = lib.mkDefault false;
enableCron = lib.mkDefault false;
};
nextcloud = { nextcloud = {
enable = lib.mkDefault false; enable = lib.mkDefault false;
enableCron = lib.mkDefault false; enableCron = lib.mkDefault false;

View File

@ -3,7 +3,10 @@ let
localhost = config.my.servers.settings.localhost; localhost = config.my.servers.settings.localhost;
port = 8096; port = 8096;
in { 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 { config = lib.mkIf config.my.servers.jellyfin.enable {
environment.systemPackages = [ pkgs.jellyfin-ffmpeg ]; environment.systemPackages = [ pkgs.jellyfin-ffmpeg ];
services = { 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"; };
};
};
};
}; };
} }