Docs / Get started / Prepare your servers

Prepare your servers

Get each trading server ready before you add it, so setup from the dashboard runs through in one go.

Updated 26 Oct 2026·Version 0.x
Early access. Trading servers must run Ubuntu 24.04 LTS on 64-bit x86 (amd64). Other distributions and ARM servers are refused. Windows servers are in progress and cannot be set up yet.

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.

CHECKWHAT SETUP NEEDSCODE IF IT FAILS
Operating systemUbuntu 24.04UNSUPPORTED_OS
Processor64-bit x86 (x86_64)UNSUPPORTED_ARCHITECTURE
CPUAt least 2INSUFFICIENT_CPU
MemoryAt least 3584 MiBINSUFFICIENT_MEMORY
Free diskAt least 10 GiB on /var/lib/docker (or /var/lib)INSUFFICIENT_DISK
Init systemsystemdSYSTEMD_UNAVAILABLE
Kernelcgroup v2, overlayfs, seccomp and namespaces, as on a standard Ubuntu 24.04 kernelKERNEL_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.
Tip. SSH access with root rights is root-equivalent. Create a key just for setup. The dashboard can remove it from the server once the agent is connected.

To make a dedicated key on your own computer:

ssh-keygen -t ed25519 -f ~/.ssh/nile-setup -C nile-setup # then add ~/.ssh/nile-setup.pub to the server user’s ~/.ssh/authorized_keys

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:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

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.

Important. If a server’s public address changes, for example a dynamic IP, its agent is refused until you add the new address. Terminals already running on the server keep running in the meantime.

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.

Was this page helpful?