diff --git a/templates/nix-config/misc/activation.nix b/templates/nix-config/misc/activation.nix index 4b34f2e..90a7da3 100644 --- a/templates/nix-config/misc/activation.nix +++ b/templates/nix-config/misc/activation.nix @@ -1,16 +1,16 @@ { config, pkgs, ... }: { - systemd.services.numbus-activation = { - description = "Numbus Server Activation"; - wantedBy = [ "multi-user.target" ]; + systemd.services.numbus-activation-chowned = { + description = "Numbus-Server activation : Correct permissions"; + wantedBy = [ "multi-user.target" "traefik.service" ]; after = [ "network.target" "local-fs.target" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; }; script = '' - if [[ -e /etc/numbus-server/activated.true ]]; then + if [[ -e /home/numbus-admin/.numbus-server/chowned.true ]]; then exit 0 fi @@ -18,12 +18,30 @@ ${pkgs.coreutils}/bin/chown -R numbus-admin:users /mnt/config/ ${pkgs.coreutils}/bin/chown -R numbus-admin:users /mnt/data/ - ${pkgs.util-linux}/bin/runuser -u numbus-admin -- ${pkgs.bash}/bin/bash -c ' - export XDG_RUNTIME_DIR=/run/user/1000 -PODMAN_NETWORKS - ' + ${pkgs.coreutils}/bin/mkdir -p /home/numbus-admin/.numbus-server/ + ${pkgs.coreutils}/bin/touch /home/numbus-admin/.numbus-server/chowned.true + ''; + }; - ${pkgs.coreutils}/bin/touch /etc/numbus-server/activated.true + systemd.services.numbus-activation-networked = { + description = "Numbus-Server activation : Create podman networks"; + wantedBy = [ "multi-user.target" "traefik.service" ]; + after = [ "network.target" "local-fs.target" ]; + serviceConfig = { + User = "numbus-admin"; + Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + if [[ -e /home/numbus-admin/.numbus-server/networked.true ]]; then + exit 0 + fi + +PODMAN_NETWORKS + + ${pkgs.coreutils}/bin/mkdir -p /home/numbus-admin/.numbus-server/ + ${pkgs.coreutils}/bin/touch /home/numbus-admin/.numbus-server/networked.true ''; }; } \ No newline at end of file diff --git a/templates/nix-config/podman/traefik.nix b/templates/nix-config/podman/traefik.nix index 20173cd..0b9e3d1 100644 --- a/templates/nix-config/podman/traefik.nix +++ b/templates/nix-config/podman/traefik.nix @@ -44,7 +44,7 @@ TRAEFIK_REF_NETWORKS systemd.services.traefik = { description = "Podman container : ${container_name}"; - after = [ "network.target" "numbus-activation.service" ]; + after = [ "network.target" "numbus-activation-networked.service" "numbus-activation-chowned.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = {