Only show guides for your app
Connect a repository to your server's Git page, press Deploy, and your code lands in your server folder — with your .env and databases left untouched.
Uploading files by hand gets old fast. The Git page pulls your code straight from a repository into your server, so shipping a change becomes: push to your repo, deploy, done. This guide gets your first deploy working.
| At a glance | |
|---|---|
| You need | a Falix server running the right application (Node.js, Python, PHP, …), and a Git repository on GitHub, GitLab, Bitbucket, or any host that gives you a public URL |
| Plan | any |
| Time | ten minutes |
Open the Git page from your server menu. There are two ways to link a repo:
Either way, once the repo is linked, choose the branch you want to deploy (usually main).
Nothing is pulled until you say so. Press Deploy. Falix fetches the branch and copies its files into your server folder — /home/container, the root you see in the File Manager. Watch the deployment log finish, then head to the Console and press Start.
This is the semantics that saves you from a bad day, so read it once:
🎯 Good to know: A deploy copies files from the repo and overwrites any server file with the same name. It never deletes server files that aren't in the repo.
So your .env, your uploaded assets, your node_modules, and your local data files all survive a deploy — as long as your repo doesn't contain a file with the same name to overwrite them. That's exactly why the standard workflow keeps secrets in .env on the server and out of the repo entirely (see Keep secrets out of Git).
Git puts your files on the server, but the application decides what to run, and each one looks for a specific entry file at the root of your server folder:
| Application | Entry file |
|---|---|
| Node.js | index.js |
| Python | app.py |
| PHP CLI | index.php |
…and so on. If your repo's entry file has a different name or sits in a subfolder, either restructure the repo so the entry file lands at the root, or set the matching variable — the Main file for Node, the App py file for Python — on the Settings page. No premium needed.
Deploying one folder of a monorepo. If your repository holds several projects and only one belongs on this server, open the Git settings and set Sync paths — a list of up to 20 paths that limits a deploy to just those directories, so the rest of the repo never lands on the server. Exclude paths (also up to 20, applied after the sync filter) does the reverse, keeping named paths from being copied at all. Then point the Main file (or App py file) variable at wherever your entry file ends up inside the synced folder.
If your project needs a build step before it can run (compiling TypeScript, building a Go binary, installing PHP dependencies), that happens with post-deploy commands — see Build steps on deploy.
After Deploy → Start, the Console should show your app booting exactly as it would from hand-uploaded files — a web app logs its Listening on port … line, a bot logs its login. Files present in the File Manager plus an app that starts means your first deploy worked.
.env got overwritten — your repo contains a file literally named .env. Remove it from the repo (and rotate any secrets that were in it), then keep only a .env.example in Git.package.json / requirements.txt; other projects may need a build step. See Build steps on deploy.