mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 14:38:12 +02:00
Supervision du moteur sans systemd (conteneur Docker)
Nouveau sys_service_container.go : supervision par fichier PID portée du mode utilisateur macOS (Setsid, SIGTERM sur le groupe puis SIGKILL, log fichier). sys_service_linux.go bascule automatiquement quand /run/systemd/system est absent ou que LOKI_CONTAINER=1 ; une install systemd classique est inchangée. Le tunnel ajean.link suit la même logique (uiServiceCtl / uiServiceActive). Sans ce repli, changer de modèle depuis l'UI (serviceAction restart) échouait sur un systemctl absent — le conteneur était inutilisable. Testé sans systemd : start / status / restart / stop, PID suivi, processus enfant arrêté avec le groupe. build linux+darwin+windows OK, go vet + go test verts.
This commit is contained in:
10 files changed
+236
-9
No files matched your search
@@ -322,7 +322,9 @@ func uiLogPath() string { return filepath.Join(LokiHome(), uiUnitName+".log") }
|
||||
// « arrêté » sur un Mac ou un PC : le token était enregistré mais rien ne
|
||||
// composait jamais le tunnel.
|
||||
func uiServiceCtl(action string) error {
|
||||
if runtime.GOOS != "linux" {
|
||||
// Linux sans systemd (conteneur Docker) : même traitement que macOS/Windows —
|
||||
// le process `loki web` possède le tunnel (appOwnsLink), sinon worker PID.
|
||||
if runtime.GOOS != "linux" || !systemdAvailable() {
|
||||
// Dans l'app de bureau, le tunnel tourne DANS ce process (conversation
|
||||
// unique) : on ne lance surtout pas un worker séparé.
|
||||
if appOwnsLink {
|
||||
@@ -364,7 +366,7 @@ func uiServiceCtl(action string) error {
|
||||
// uiServiceActive indique si le worker de lien tourne (unité systemd sous
|
||||
// Linux, processus suivi par fichier PID ailleurs).
|
||||
func uiServiceActive() bool {
|
||||
if runtime.GOOS != "linux" {
|
||||
if runtime.GOOS != "linux" || !systemdAvailable() {
|
||||
if appOwnsLink {
|
||||
return appLinkRunning()
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user