docker kommt mir nicht in die Tüte
Wobei ich mir das in diesem Fall wirklich nochmal überlegen würde
. Sich das System mit NodeJS Abhängigkeiten und NPM zu verbasteln, ist jetzt auch nicht unbedingt die schönste Lösung. Zumal man ja gerade bei NodeJS oft darauf achten, muss, dass die benötigte Version auch der entspricht, die man für das Projekt gerade benötigt. Unter Umständen ist hier auch wieder eine zusätzliche Quelle nötig. Genau aus diesem Grund läuft bei mir alles NodeJS-basierte grundsätzlich in isolierten Containern. Bei Golang kann ich es noch verstehen, wenn die Installation im Grunde nur daraus besteht, dass man ein Binary herunterlädt und als unprivilegierter User laufen lässt. Da hat man dann im Grunde dieselbe Isolation wie in einem Container. Aber gerade, wenn dann noch zusätzliche Abhängigkeiten mit ins Spiel kommen oder bestimmte Versionen einer Sprache benötigt wird, spielen Container ihre Stärken aus, weil man dann auch das eigentliche OS aktualisieren kann ohne sich Gedanken machen zu müssen welche Applikation man damit evtl. kaputt macht.
Man darf auch die Updates nicht vergessen. Mit Docker startet man einfach den Container mit einem neuen Tag. Die manuelle Installation von uptime-kuma muss dann wieder mit npm gemacht werden. npm hat eigentlich auf einem produktiven System auch nichts verloren. Das sollte eher der Entwicklung dienen, wo man ein fertiges Paket baut, das dann wiederum auf Prod ausgerollt werden kann. Wobei das natürlich auch etwas an mir liegen könnte, weil ich da noch etwas aus der alten Schule komme. Hier werden neue Applikationen grundsätzlich nur in Dev gebaut, dann getestet und anschließend erst über einen sicheren Weg in Prod ausgerollt.