Run a Node.js or Python web app
My site is an app (Express, Next.js, Flask, FastAPI). How do I run it?
Under Site settings choose Node.js or Python, set the start file or command, and have your app listen on the PORT environment variable.
Before you start: Your app's code, with package.json (Node.js) or requirements.txt (Python) next to it.
Step by step
- Upload your project under Files. Do not upload node_modules or a virtual environment; dependencies are installed for you.
- Open Site settings and choose the Node.js or Python version your app needs.
- Set the start file (for example server.js or app.py), or a start command such as npm start or gunicorn app:app --bind 0.0.0.0:$PORT.
- Make sure your app listens on the port in the PORT environment variable and on host 0.0.0.0. A port written into your code will not be reachable.
- Put API keys and database addresses under Environment, not in your code. Saved values are hidden in the panel.
- Save, press Start and watch the Console. The first start installs dependencies, which can take a minute.
Check it worked: The Console shows your app's own "listening" message and the site's address opens it.
Why it happens: A static site is just files; an app is a program that answers requests, so it needs a runtime and a way to start.
If the Console shows an error from CoreX itself rather than from your app, contact support with your service ID.
More guides on Website hosting: