Bot + Website, pm2 und Unterordner
Mehrere Programme (zum Beispiel der Bot und seine Website): Wenn dein Projekt eine ecosystem.config.js (pm2) mit mindestens zwei Apps oder ein Procfile mit mindestens zwei Zeilen enthält, startet Invokara alle zusammen, ohne pm2. Die Logs jedes Programms stehen in der Konsole mit seinem Namen als Präfix ([bot], [site]…) und das Programm startet von selbst neu, wenn es abstürzt. Das erste in der Liste ist das Hauptprogramm: Stürzt es in einer Schleife ab, wird der Bot pausiert.
Ein Skript "start": "pm2 start index.js" wird ebenfalls verstanden: Wir starten direkt index.js (pm2 ist hier überflüssig, der Bot startet ohnehin schon von selbst neu).
0.0.0.0 lauschen, nicht auf 127.0.0.1 oder localhost: Sonst erscheint die Seite „Dieser Bot ist offline“. Beispiel: app.listen(process.env.PORT, '0.0.0.0'). Wir setzen PORT und HOST=0.0.0.0 für dich und warnen dich in der Konsole, wenn dein Code woanders lauscht.Projekt in einem Unterordner (z. B. mein-bot/package.json): wird automatisch erkannt. Die Module werden installiert und der Bot startet aus diesem Ordner, mit seiner eigenen .env (die im Stammverzeichnis wird ebenfalls gelesen). Backup-Ordner (backup, old, copy, _old…) werden ignoriert.
Um eine komplett neue Version hochzuladen, setz im Tab Dateien den Haken bei Alle Dateien ersetzen: Das alte Projekt wird vorher gelöscht, außer data/, .env und den Datenbanken .db/.sqlite. So wird verhindert, dass ein Überbleibsel des vorherigen Uploads statt der neuen Version gestartet wird.