Update systemD services

This commit is contained in:
Raphaël Numbus
2026-01-10 08:49:50 +01:00
parent f75ac84544
commit a210cd622f
10 changed files with 46 additions and 45 deletions
+10 -9
View File
@@ -5,6 +5,7 @@
description = "Numbus-Server activation : Correct permissions"; description = "Numbus-Server activation : Correct permissions";
wantedBy = [ "multi-user.target" "traefik.service" ]; wantedBy = [ "multi-user.target" "traefik.service" ];
after = [ "network.target" "local-fs.target" ]; after = [ "network.target" "local-fs.target" ];
path = [ pkgs.coreutils ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
@@ -16,12 +17,12 @@
exit 0 exit 0
fi fi
${pkgs.coreutils}/bin/mkdir -p /mnt/config/ /mnt/data/ /home/numbus-admin/.numbus-server/ mkdir -p /mnt/config/ /mnt/data/ /home/numbus-admin/.numbus-server/
${pkgs.coreutils}/bin/chown -R numbus-admin:users /mnt/config/ chown -R numbus-admin:users /mnt/config/
${pkgs.coreutils}/bin/chown -R numbus-admin:users /mnt/data/ chown -R numbus-admin:users /mnt/data/
${pkgs.coreutils}/bin/chown -R numbus-admin:users /home/numbus-admin/.numbus-server/ chown -R numbus-admin:users /home/numbus-admin/.numbus-server/
${pkgs.coreutils}/bin/touch /home/numbus-admin/.numbus-server/chowned.true touch /home/numbus-admin/.numbus-server/chowned.true
''; '';
}; };
@@ -29,7 +30,8 @@
description = "Numbus-Server activation : Create podman networks"; description = "Numbus-Server activation : Create podman networks";
wantedBy = [ "multi-user.target" "traefik.service" ]; wantedBy = [ "multi-user.target" "traefik.service" ];
before = [ "traefik.service" ]; before = [ "traefik.service" ];
after = [ "network.target" "local-fs.target" ]; after = [ "network.target" "local-fs.target" "numbus-activation-chowned.service" ];
path = [ pkgs.podman pkgs.coreutils ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
@@ -44,9 +46,8 @@
fi fi
PODMAN_NETWORKS PODMAN_NETWORKS
mkdir -p /home/numbus-admin/.numbus-server/
${pkgs.coreutils}/bin/mkdir -p /home/numbus-admin/.numbus-server/ touch /home/numbus-admin/.numbus-server/networked.true
${pkgs.coreutils}/bin/touch /home/numbus-admin/.numbus-server/networked.true
''; '';
}; };
} }
+4 -4
View File
@@ -58,18 +58,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -71,18 +71,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
@@ -57,18 +57,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -94,18 +94,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -37,18 +37,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -60,18 +60,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -89,18 +89,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -65,18 +65,18 @@ in
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "traefik.service" ]; requires = [ "traefik.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";
+4 -4
View File
@@ -47,18 +47,18 @@ TRAEFIK_REF_NETWORKS
after = [ "network.target" ]; after = [ "network.target" ];
requires = [ "numbus-activation-networked.service" "numbus-activation-chowned.service" ]; requires = [ "numbus-activation-networked.service" "numbus-activation-chowned.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.podman ]; path = [ pkgs.podman pkgs.podman-compose ];
serviceConfig = { serviceConfig = {
User = "numbus-admin"; User = "numbus-admin";
Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ]; Environment = [ "XDG_RUNTIME_DIR=/run/user/1000" ];
Type = "exec"; Type = "exec";
# Pull the latest image before running # Pull the latest image before running
ExecStartPre = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} pull"; ExecStartPre = "podman-compose -f /etc/${compose_file} pull";
# Bring the service up # Bring the service up
ExecStart = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} up --remove-orphans"; ExecStart = "podman-compose -f /etc/${compose_file} up --remove-orphans";
# Take it down gracefully # Take it down gracefully
ExecStop = "${pkgs.podman-compose}/bin/podman-compose -f /etc/${compose_file} down"; ExecStop = "podman-compose -f /etc/${compose_file} down";
Restart = "on-failure"; Restart = "on-failure";
RestartSec = "10m"; RestartSec = "10m";
StartLimitBurst = "3"; StartLimitBurst = "3";