feat(etna): auto restart minecraft servers
This commit is contained in:
parent
54d10333ee
commit
9cf2e2bcef
1 changed files with 21 additions and 1 deletions
|
@ -1,9 +1,12 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
config,
|
config,
|
||||||
mkSecret,
|
mkSecret,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
|
inherit (config.virtualisation.oci-containers) backend;
|
||||||
|
|
||||||
mkMinecraftServer = name: {
|
mkMinecraftServer = name: {
|
||||||
port,
|
port,
|
||||||
frpPort,
|
frpPort,
|
||||||
|
@ -36,7 +39,7 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services."${config.virtualisation.oci-containers.backend}-${name}".serviceConfig.TimeoutSec = "300";
|
systemd.services."${backend}-${name}".serviceConfig.TimeoutSec = "300";
|
||||||
};
|
};
|
||||||
|
|
||||||
recursiveMerge = attrList:
|
recursiveMerge = attrList:
|
||||||
|
@ -70,6 +73,23 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers.backend = "docker";
|
virtualisation.oci-containers.backend = "docker";
|
||||||
|
|
||||||
|
systemd.services.restart-minecraft-servers = {
|
||||||
|
wantedBy = ["multi-user.target"];
|
||||||
|
script = ''
|
||||||
|
${lib.getExe' pkgs.systemd "systemctl"} restart ${backend}-*.service
|
||||||
|
'';
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.restart-minecraft-servers = {
|
||||||
|
wantedBy = ["timers.target"];
|
||||||
|
timerConfig = {
|
||||||
|
OnCalendar = "*-*-* 05:00:00";
|
||||||
|
Persistent = true;
|
||||||
|
Unit = "restart-minecraft-servers.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
(mkMinecraftServers {
|
(mkMinecraftServers {
|
||||||
ragnamod7 = {
|
ragnamod7 = {
|
||||||
|
|
Loading…
Reference in a new issue