fix pods creation and folder management

This commit is contained in:
Dmitriy Kholkin 2023-06-27 23:09:36 +03:00
parent fc7349aa48
commit 443a9c394a
5 changed files with 19 additions and 14 deletions

View File

@ -82,16 +82,17 @@ in {
};
};
systemd.tmpfiles.rules = [
"d ${data-dir}/db 0700 70 root -"
"d ${data-dir}/redis 0755 dhcpcd root -"
"d ${data-dir}/media 0755 ${owner} ${owner} -"
"d ${data-dir}/certs 0755 ${owner} ${owner} -"
"d ${data-dir}/custom-templates 0755 ${owner} ${owner} -"
];
systemd.services."podman-create-${pod-name}" = let
portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports;
start = pkgs.writeShellScript "create-pod" ''
if [[ ! -d "${data-dir}" ]]; then
mkdir -p "${data-dir}/db"
mkdir -p "${data-dir}/redis"
mkdir -p "${data-dir}/media" && chown ${owner}:${owner} "${data-dir}/media"
mkdir -p "${data-dir}/certs" && chown ${owner}:${owner} "${data-dir}/certs"
mkdir -p "${data-dir}/custom-templates" && chown ${owner}:${owner} "${data-dir}/custom-templates"
fi
podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping}
'';
stop = "podman pod rm -i -f ${pod-name}";
@ -104,7 +105,7 @@ in {
"${backend}-authentik-worker.service"
"${backend}-authentik-ldap.service"
];
wantedBy = before;
requiredBy = before;
partOf = before;
serviceConfig = {
Type = "oneshot";

View File

@ -108,7 +108,7 @@ in {
older-than = "3"; # in days
in rec {
before = [ "gitea-dump.service" ];
wantedBy = before;
requiredBy = before;
script = ''
${pkgs.findutils}/bin/find ${config.services.gitea.dump.backupDir} \
-mindepth 1 -type f -mtime +${older-than} -delete

View File

@ -32,18 +32,22 @@ in {
volumes = [ "${joplin-db-data}:/var/lib/postgresql/data" ];
};
};
systemd.tmpfiles.rules = [
"d ${joplin-data} 0755 ${joplin-uid} ${joplin-uid} -"
"d ${joplin-db-data} 0700 dhcpcd dhcpcd -"
];
systemd.services."podman-create-${pod-name}" = let
portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports;
start = pkgs.writeShellScript "create-pod" ''
mkdir -p ${joplin-data} && chown ${joplin-uid} ${joplin-data}
mkdir -p ${joplin-db-data}
podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping}
'';
stop = "podman pod rm -i -f ${pod-name}";
in rec {
path = [ pkgs.coreutils config.virtualisation.podman.package ];
before = [ "${backend}-joplin.service" "${backend}-joplin-db.service" ];
wantedBy = before;
requiredBy = before;
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";

View File

@ -43,7 +43,7 @@ in {
"${backend}-recyclarr.service"
"${backend}-sonarr.service"
];
wantedBy = before;
requiredBy = before;
partOf = before;
serviceConfig = {
Type = "oneshot";

View File

@ -139,7 +139,7 @@ in {
"${backend}-memcached.service"
"${backend}-seafile-caddy.service"
];
wantedBy = before;
requiredBy = before;
partOf = before;
serviceConfig = {
Type = "oneshot";