Only show guides for your app
How to read the console from the first error down, tell an install failure from a code error, and fix the handful of problems that stop most app servers.
When a server won't start, the console already contains the answer. The trick is reading it in the right order — and knowing which half of the startup it came from. Get that, and most "it won't start" problems fix themselves in a minute.
| At a glance | |
|---|---|
| Symptom | Server won't start, or starts then stops |
| First move | Read the console from the top, not the bottom |
| Two phases | Install (packages), then your app (your code) |
When you press Start, the console fills with output. A single failure early on usually causes a cascade of later complaints, so the bottom of the log is often just noise. The first thing that went wrong is the thing to fix.
💡 Tip: Your instinct is to look at the last line — resist it. Scroll up to the first error.
Every start happens in two stages, and knowing which one failed tells you where to look:
npm output for Node, pip for Python, and so on. Errors here are about packages, not your logic.If the log never gets past the install output, fix the install first — your code hasn't even run yet. A red npm error line, or ERROR: Could not find a version that satisfies the requirement… for pip, is an install failure with its own walkthrough: Install failures.
💡 Tip: A long pause on the install output usually isn't a hang. First installs download — and sometimes compile — your packages (native Node modules, a Rust or TypeScript build,
next build), which can take a few minutes. Give it time before assuming it froze; if it genuinely never moves, press Stop then Start to try again.
| What you see | What it means | The fix |
|---|---|---|
Cannot find module 'express' (Node) |
A package your code needs isn't installed. | Add it on the Packages page, then restart. The console also pops up a diagnostic with an Open Packages button — and often a one-click Install right there. |
ModuleNotFoundError: No module named 'requests' (Python) |
The same thing on the Python side. | Same fix — install it from the Packages page and restart. |
Cannot find module '/home/container/index.js' (Node) or can't open file '.../app.py' (Python) |
The application can't find your entry file — wrong name, or it's sitting in a subfolder. | Check the Main file (Node) or App py file (Python) variable in Settings matches your real filename, and that the file is in the server's root folder. |
SyntaxError / IndentationError |
A typo in your code — this one isn't a Falix problem. | Open the file and line the error names, fix it, restart. |
TokenInvalid (discord.js) or LoginFailure: Improper token has been passed (discord.py) |
Your bot token is wrong, blank, or was reset. | Put the correct token in your .env. See Environment variables and secrets. |
host not found in SERVER_PORT (PHP Web Server) |
The fresh PHP Web Server ships a config that doesn't fill in the port, so nginx crash-loops. | Deploy the PHP Website template — it ships the corrected config. See one-click templates. |
If the console runs cleanly and then the server just stops, your program may have finished. A script that does its work and returns exits normally — nothing is wrong. Only things designed to keep running (a web server, a Discord bot) stay online, because they keep waiting for requests or events. More on this in Keeping your app online.
🎯 Good to know: If your app was never meant to keep running, a clean stop is the correct outcome.
The panel flips a server to Online only when it spots a specific "ready" line in the console — for the Node application that line contains the word Listening. If your app is actually running but never prints such a line, the status can sit on Starting forever even though everything works. Check which of these it is:
console.log('Listening on port ' + port) and the status will flip.