Connect a server
For FlawDesk Code to build, deploy and give an AI client access, the project needs a place where the code lives and commands run. Usually that is your own server via SSH. Your code stays with you — FlawDesk only talks to the server you specify.
Prerequisites
- A project of type FlawDesk Code (see First project)
- A Linux server you can reach via SSH (Ubuntu/Debian are the common cases)
- Installed on the server: git and rsync — both required; without them cloning and deploying do not work
- For Node projects additionally Node.js and pm2, for PHP projects PHP
Where the settings are
Project → gear icon (project settings) → "FlawDesk Code" tab. The tab is split into sections that you go through in this order:
| Section | Content |
|---|---|
| Source | The GitHub repository — own guide |
| Target server | Where code and commands run — this page |
| Server status | Check whether the server has everything it needs |
| MySQL | Optional: the project database for queries via the connector |
| Modules | What gets built and deployed — own guide |
| Sticky files | Files a deploy never overwrites (e.g. .env) |
1. Choose the mode
Under Target server there are three cards:
- Self-hosted (own server) — the normal case, described on this page. Full feature set: clone, build, deploy, database, shell.
- Own computer (FlawDesk Local) — no server needed: the code lives in a folder on your PC, a small desktop app runs the commands there, and you approve each command yourself. No deploy and no database; good for trying things out or for local projects.
- Hosted by XantoSoft — not available yet.
2. Enter SSH access (self-hosted)
Fill in the fields below the card:
| Field | Meaning |
|---|---|
| Host | IP address or host name, e.g. 203.0.113.10 or server.example.com |
| Port | Default 22 |
| SSH user | The Linux user FlawDesk works as |
| Authentication | Private key (recommended) or password |
| Workspace path on the server | Directory into which FlawDesk clones the repositories, e.g. /var/www/flawdesk-workspace. The SSH user needs write access there. |
For a private key you paste the private key into FlawDesk; the matching public key must be in ~/.ssh/authorized_keys of the SSH user on the server. Generate a new key pair on your machine with:
ssh-keygen -t ed25519 -C "flawdesk" -f flawdesk_key
flawdesk_key.pub goes to the server, flawdesk_key into FlawDesk.
root and not your personal account. Create a dedicated user that only has access to the project directories. How to do that is described in Securing SSH — please read it before an AI client gets access.Several projects on the same server? Create the access once under Workspace settings → Code as central SSH credentials and then pick it from the dropdown in the project instead of typing it again.
Test connection checks immediately whether FlawDesk can reach the server. Then Save.
3. Check the server status
In the Server status section click Check now. FlawDesk signs in to the server and determines:
- operating system (only Linux is supported)
- whether git and rsync are present (required)
- which runtimes are available: Node.js, npm, PHP, Composer, Python 3, .NET — depending on what your modules need
If a required tool is missing, the section shows it in red. Install it on Ubuntu/Debian with:
sudo apt install git rsync
Then Check again. Only when everything is green here is the next step worthwhile.
npm install -g pm2) — the check does not cover it, but it shows up at the latest on the first deploy.4. MySQL (optional)
If your project has a MySQL/MariaDB database and you (or an AI client) want to run queries through it, enter it under MySQL: host, user, password, database. Below that you define which statement types are allowed — SELECT alone is enough for reports; DROP/CREATE should only be enabled deliberately.