diff --git a/profiles/servers/authentik.nix b/profiles/servers/authentik.nix index 1c8d275..02ae939 100644 --- a/profiles/servers/authentik.nix +++ b/profiles/servers/authentik.nix @@ -93,7 +93,7 @@ in { systemd.services."podman-create-${pod-name}" = let portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports; - start = pkgs.writeShellScript "create-pod" '' + start = pkgs.writeShellScript "create-pod-${pod-name}" '' podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping} --dns ${pod-dns} ''; stop = "podman pod rm -i -f ${pod-name}"; diff --git a/profiles/servers/homepage.nix b/profiles/servers/homepage.nix index 57a13df..36611a8 100644 --- a/profiles/servers/homepage.nix +++ b/profiles/servers/homepage.nix @@ -3,7 +3,7 @@ let backend = config.virtualisation.oci-containers.backend; nas-path = "/media/nas/containers"; pod-name = "homepage-pod"; - pod-dns = "192.168.0.5"; + pod-dns = "127.0.0.1"; open-ports = [ "127.0.0.1:3000:3000/tcp" # "127.0.0.1:2375:2375/tcp" @@ -53,7 +53,7 @@ in { systemd.services."podman-create-${pod-name}" = let portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports; - start = pkgs.writeShellScript "create-pod" '' + start = pkgs.writeShellScript "create-pod-${pod-name}" '' podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping} --dns ${pod-dns} ''; stop = "podman pod rm -i -f ${pod-name}"; diff --git a/profiles/servers/joplin-server.nix b/profiles/servers/joplin-server.nix index fd46362..24152f8 100644 --- a/profiles/servers/joplin-server.nix +++ b/profiles/servers/joplin-server.nix @@ -40,7 +40,7 @@ in { systemd.services."podman-create-${pod-name}" = let portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports; - start = pkgs.writeShellScript "create-pod" '' + start = pkgs.writeShellScript "create-pod-${pod-name}" '' podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping} ''; stop = "podman pod rm -i -f ${pod-name}"; diff --git a/profiles/servers/media-stack/default.nix b/profiles/servers/media-stack/default.nix index 8499e62..ae6b9b9 100644 --- a/profiles/servers/media-stack/default.nix +++ b/profiles/servers/media-stack/default.nix @@ -6,7 +6,7 @@ let # caddy "127.0.0.1:8180:8180" ]; - pod-dns = "192.168.0.1"; + pod-dns = "127.0.0.1"; in { imports = [ ./caddy.nix @@ -23,12 +23,11 @@ in { systemd.services."podman-create-${pod-name}" = let portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports; - start = pkgs.writeShellScript "create-pod" '' - podman pod exists ${pod-name} && podman pod rm -i ${pod-name} \ - || podman pod create -n ${pod-name} ${portsMapping} --dns ${pod-dns} - exit 0 + start = pkgs.writeShellScript "create-pod-${pod-name}" '' + podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping} --dns ${pod-dns} ''; - in { + stop = "podman pod rm -i -f ${pod-name}"; + in rec { path = [ pkgs.coreutils config.virtualisation.podman.package ]; before = [ "${backend}-media-caddy.service" @@ -43,10 +42,13 @@ in { "${backend}-recyclarr.service" "${backend}-sonarr.service" ]; + requiredBy = before; + partOf = before; serviceConfig = { Type = "oneshot"; RemainAfterExit = "yes"; ExecStart = start; + ExecStop = stop; }; }; } \ No newline at end of file diff --git a/profiles/servers/seafile.nix b/profiles/servers/seafile.nix index 186ec73..cc374b4 100644 --- a/profiles/servers/seafile.nix +++ b/profiles/servers/seafile.nix @@ -2,7 +2,7 @@ let backend = config.virtualisation.oci-containers.backend; nas-path = "/media/nas/seafile"; - pod-name = "seafile"; + pod-name = "seafile-pod"; open-ports = [ "127.0.0.1:8088:80" ]; seafile-ver = "10.0.1"; mariadb-ver = "10.11.4"; @@ -135,7 +135,7 @@ in { systemd.services."podman-create-${pod-name}" = let portsMapping = lib.concatMapStrings (port: " -p " + port) open-ports; - start = pkgs.writeShellScript "create-pod" '' + start = pkgs.writeShellScript "create-pod-${pod-name}" '' podman pod exists ${pod-name} || podman pod create -n ${pod-name} ${portsMapping} exit 0 '';