Python goes almost anywhere, and a Falix server is no exception: Discord bots, Flask sites, scrapers, scheduled jobs, data crunching. The Python application takes care of the fiddly parts — installing your packages and picking an interpreter — so you can stay focused on the code. There are only a few Falix-specific rules, and once they click, any Python tutorial online works here unchanged.
| At a glance | |
|---|---|
| You need | A Falix server running the Python application |
| Plan | Any — on free it runs while your session timer has time left, premium runs 24/7 |
| Time | Ten minutes |
| No server yet? | Create your first app server |
The four rules
-
Your code starts from
app.py. When you press Start, Falix runspython app.pyin your server folder. If your entry file is named something else, change the App py file variable on the Settings page — no premium needed. -
Dependencies install themselves. If a
requirements.txtexists, Falix installs it every time the server starts, before your code runs. You never typepip installby hand — you editrequirements.txt, restart, and watch the install scroll past in the console. (The Requirements file variable in Settings controls which file it reads; it defaults torequirements.txt.) -
Your public port is
SERVER_PORT. If your app listens for web traffic, read the port from the environment and bind0.0.0.0— neverlocalhostor127.0.0.1. Here's a complete Flask app that does it right:import os from flask import Flask app = Flask(__name__) @app.route("/") def home(): return "Hello from Falix!" if __name__ == "__main__": port = int(os.environ.get("SERVER_PORT", 8080)) app.run(host="0.0.0.0", port=port)Put
flaskin yourrequirements.txtand this serves on your public port. Hard-coding port 5000 or bindinglocalhostare the two classic "works on my PC, not on the server" mistakes — see Your first web app. -
The console is your window. Everything your app prints shows up on the Console page. For anything long-running — a bot, a web server, a worker loop — use
print("...", flush=True)so your logs appear immediately instead of getting stuck in Python's buffer. When something breaks, read the console from the top: the first error is usually the real one.
Try it: hello world
Deploy the Python Hello World template from this page (it only overwrites files with the same names). Press Start, and the console shows the greeting and your Python version. Then open app.py in the File Manager, change the message, restart, and watch it update. That loop — edit, restart, read the console — is Python development on Falix.
Adding packages
Want requests or flask? Open the Packages page in your server menu, type the package name into the Install package panel, and press Install. The job runs under Tasks, your requirements.txt is updated for you, and after a restart your import works. The same page lists every dependency you have, flags outdated ones, and warns about known security problems.
🎯 Good to know: The console knows about missing packages too: if your app crashes with
ModuleNotFoundError: No module named 'requests', the panel pops up a diagnostic that opens Packages — or installs the missing package in one click.
If you prefer editing files (or your project comes from Git), the mechanics are plain pip: list your dependencies in requirements.txt, and they install on every start. Both paths end in the same place.
A different file, several apps, and reinstalls
Your entry point is the App py file variable — point it at any .py file in your project. To run a genuinely separate app, though — a second bot, a different scraper — don't pile it into the same folder. Give it its own Instance: an isolated application, files, and startup on the same server, switched whenever you like.
🎯 Good to know: Your installed packages live in a
.localfolder that isn't yours to keep. A reinstall — or switching the server to a different application — can wipe your files,.localincluded. You don't reinstall by hand: the requirements install runs on the next start and rebuilds it. Guard your own source and data instead (managed databases are the safe home for data).
Picking a Python version
The application defaults to a current release. You can switch anywhere from Python 3.7 to 3.13 on the Settings page (the runtime version dropdown) on any plan.
💡 Tip: Switch the Python version when a library needs a specific one; otherwise the default is fine.
When things go wrong
ModuleNotFoundError: No module named 'xyz'— the package isn't inrequirements.txt, or the install above it in the console failed. Scroll up and read the pip output first.- Server starts, then immediately stops — your script finished and exited cleanly. That's not a crash: a bot or web server keeps running because something stays open; a script that only prints and returns is done. See My app won't start.
- Web app not reachable in the browser — a port or bind-address problem: I can't reach my app.
- Killed out of nowhere — likely memory: Out of memory.
| Cheat sheet | |
|---|---|
| Entry file | app.py (App py file variable) |
| Dependencies | requirements.txt installs automatically on start (Requirements file variable) |
| Web port rule | Read SERVER_PORT, bind 0.0.0.0 |
| Versions | Python 3.7 to 3.13 on the Settings page (any plan) |