Prepare your servers
Get each trading server ready before you add it, so setup from the dashboard runs through in one go.
1. Check the requirements
A trading server is a Linux machine you own or rent, such as a VPS or a dedicated server. PerkBridge installs Docker and the Fleet Agent on it over SSH. Before it changes anything, setup runs read-only checks. A server that fails one is refused.
| CHECK | WHAT SETUP NEEDS | CODE IF IT FAILS |
|---|---|---|
| Operating system | Ubuntu 24.04 | UNSUPPORTED_OS |
| Processor | 64-bit x86 (x86_64) | UNSUPPORTED_ARCHITECTURE |
| CPU | At least 2 | INSUFFICIENT_CPU |
| Memory | At least 3584 MiB | INSUFFICIENT_MEMORY |
| Free disk | At least 10 GiB on /var/lib/docker (or /var/lib) | INSUFFICIENT_DISK |
| Init system | systemd | SYSTEMD_UNAVAILABLE |
| Kernel | cgroup v2, overlayfs, seccomp and namespaces, as on a standard Ubuntu 24.04 kernel | KERNEL_FEATURE_MISSING |
These are the minimums for setup. Each MetaTrader 5 terminal you run on the server uses more memory and disk, so leave room for the deployments you plan. In tests, each terminal used about 0.7 GB of memory, and the MetaTrader 5 platform download was about 3.8 GB. The tested server had 4 vCPUs, 8 GB of memory and a 22 GB disk.
2. Set up SSH access
Setup signs in with an SSH key. Password sign-in is not offered.
- Use root, or a user that can use sudo without a password. Anything else fails with INSUFFICIENT_PRIVILEGES.
- Put the public key in that user’s ~/.ssh/authorized_keys.
- Keep the private key at hand. Ed25519, ECDSA and RSA keys of at least 2048 bits are accepted. If the key has a passphrase, you give it at setup time.
To make a dedicated key on your own computer:
3. Note the host key fingerprint
Before setup runs anything, you confirm that you are talking to the right server. PerkBridge reads the host key the server presents, and you compare its fingerprint with one you got another way. Nothing is trusted on first use, and a changed key is never accepted automatically.
Get the fingerprint from your provider’s console, or run this on the server’s own console:
Write it down. You need it in the first step of Add a server.
4. Decide about Docker
You can leave Docker to PerkBridge, or install it yourself.
- No Docker on the server. Setup installs Docker Engine and containerd from Docker’s official, signed repository at pinned versions, and holds the packages so unattended upgrades cannot restart Docker under running terminals. The server needs DNS and outbound HTTPS (port 443) to download.docker.com.
- Docker already installed. Setup keeps it unchanged. It must be running, at least version 25.0, and not the snap package.
Setup refuses a server that:
- exposes the Docker API on a TCP port (DOCKER_TCP_EXPOSED);
- already has another apt source for download.docker.com (DOCKER_REPO_CONFLICT);
- has half-installed packages other than Docker’s own (PACKAGE_MANAGER_BROKEN).
5. Open the network path
The Fleet Agent connects out to the control plane. Your trading server needs no inbound port for PerkBridge, apart from SSH during setup.
- The trading server must reach the control plane on port 8443, at https://<your dashboard host>:8443.
- The control plane must reach the trading server’s SSH port during setup.
- The trading server must reach the image registry over HTTPS to download the platform, and your broker’s servers to trade.
- On the control plane, allow port 8443 only from your trading servers’ addresses. See Install the control plane.
The control plane also keeps an allowlist. It admits agent connections only from the address you give when you add the server. If the agent connects from a different address, for example behind NAT, add up to 16 extra single addresses on the server’s Gateway access page. Networks are refused.
6. Final checklist
- Ubuntu 24.04, amd64, at least 2 CPUs, 3584 MiB memory and 10 GiB free disk.
- An SSH user that is root or has passwordless sudo, with your setup key in authorized_keys.
- The host key fingerprint, taken from the provider’s console or the server’s own console.
- Either no Docker, or a healthy Docker 25.0 or later not exposed on TCP.
- Outbound access to the control plane on port 8443.
- Your user has the permission to add servers. Ask an administrator if Add server says “Not allowed”.
You are ready to add the server.