Für eigene Anwendungen gibt es die Vorlagen Node.js und Go. Beide funktionieren gleich: deine Anwendung läuft als eigener Dienst, davor sitzt Caddy und kümmert sich um Domain und Verschlüsselung.
- Verzeichnis:
/var/www/app - Dienste:
exbil-nodebzw.exbil-go, dazucaddy
Node.js
Der Dienst startet deine Anwendung mit npm run start. Zwei Dinge müssen also stimmen:
- In deiner
package.jsonmuss es einstart-Skript geben. - Deine Anwendung muss auf dem Port lauschen, den du beim Anlegen angegeben hast. Lies ihn aus
process.env.PORTaus, statt ihn fest einzutragen.
cd /var/www/app
npm ci --omit=dev
systemctl restart exbil-node
journalctl -u exbil-node -n 50
Go
Binary nach /var/www/app legen, dann systemctl restart exbil-go. Auch hier gilt: den Port aus der Umgebungsvariable lesen.
Startet nicht?
journalctl -u exbil-node -n 100 zeigt den echten Fehler. In den allermeisten Fällen ist es eines von dreien: das start-Skript fehlt, die Abhängigkeiten wurden nicht installiert, oder die Anwendung lauscht auf einem anderen Port als eingestellt.