Skip to content

Commit fa83883

Browse files
authored
Merge pull request #12 from Mouette03/Fix-cockpit
Fix cockpit disable functionality
2 parents 93a3e73 + f347acc commit fa83883

2 files changed

Lines changed: 23 additions & 7 deletions

File tree

stage-tipi/01-config/00-run.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,14 @@ systemctl enable tipi-runtipi-retry.service
6060
systemctl enable avahi-daemon.service
6161
6262
# ---- Cockpit — interface web de gestion système (port 9090) ----
63-
# Installé ici, mais désactivé par défaut.
64-
# L'utilisateur peut l'activer via le portail de configuration (case à cocher).
63+
# Installé ici, mais masqué par défaut (disable seul ne suffit pas : les presets
64+
# APT/systemd peuvent le ré-activer au premier démarrage).
65+
# L'utilisateur peut l'activer via le portail de configuration (case à cocher) ;
66+
# setup.py fait un unmask + enable --now à ce moment-là.
6567
apt-get install -y cockpit
66-
systemctl disable cockpit.socket 2>/dev/null || true
68+
systemctl disable cockpit.socket 2>/dev/null || true
69+
systemctl mask cockpit.socket 2>/dev/null || true
70+
systemctl mask cockpit.service 2>/dev/null || true
6771
6872
# ---- Activer SSH (désactivé par défaut sur Trixie) ----
6973
systemctl enable ssh.service

stage-tipi/01-config/files/app/setup.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -425,11 +425,23 @@ def get_final_ip() -> str | None:
425425
def configure_cockpit(enabled: bool):
426426
if enabled:
427427
step(T["cockpit_step"])
428-
subprocess.run(["systemctl", "enable", "--now", "cockpit.socket"], check=False)
429-
done(T["cockpit_done"])
430-
else:
431-
subprocess.run(["systemctl", "disable", "--now", "cockpit.socket"],
428+
# Le socket et le service sont masqués au build — il faut d'abord
429+
# lever le masque avant de pouvoir les activer.
430+
subprocess.run(["systemctl", "unmask", "cockpit.socket", "cockpit.service"],
432431
check=False, capture_output=True)
432+
r = subprocess.run(["systemctl", "enable", "--now", "cockpit.socket"],
433+
capture_output=True, text=True)
434+
if r.returncode != 0:
435+
err(f"Cockpit : activation échouée — {(r.stderr or r.stdout).strip()}")
436+
else:
437+
done(T["cockpit_done"])
438+
else:
439+
r1 = subprocess.run(["systemctl", "disable", "--now", "cockpit.socket"],
440+
capture_output=True, text=True)
441+
r2 = subprocess.run(["systemctl", "mask", "cockpit.socket", "cockpit.service"],
442+
capture_output=True, text=True)
443+
if r1.returncode != 0 or r2.returncode != 0:
444+
err("Cockpit : désactivation incomplète — vérifier manuellement")
433445

434446

435447
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)