Bot + website, pm2 and subfolders
Several programs (for example the bot and its website): if your project has an ecosystem.config.js (pm2) with at least two apps, or a Procfile with at least two lines, Invokara runs all of them together, without pm2. Each program's logs are prefixed with its name in the console ([bot], [site]…) and it restarts on its own if it crashes. The first one is the main program: if it keeps crashing, the bot is paused.
A "start": "pm2 start index.js" script is understood too: we run index.js directly (pm2 is useless here, the bot already restarts on its own).
0.0.0.0, not 127.0.0.1 or localhost: otherwise the "This bot is offline" page shows up. Example: app.listen(process.env.PORT, '0.0.0.0'). We set PORT and HOST=0.0.0.0 for you, and warn you in the console if your code listens elsewhere.Project in a subfolder (e.g. my-bot/package.json): detected automatically. Dependencies are installed and the bot starts from that folder, with its own .env (the root one is read too). Backup folders (backup, old, copy, _old…) are ignored.
To upload a complete new version, tick Replace all files in the Files tab: the old project is deleted first, except data/, .env and .db/.sqlite databases. This keeps leftovers of a previous upload from being started instead of the new one.