# Requirements

> Prepare the server, network and worker machines separately.

Source: https://usefiretower.com/docs/requirements

## Control-plane server

| Setup | CPU | Memory | Storage |
| --- | --- | --- | --- |
| Minimum | 2 vCPU | 2 GB | 20 GB |
| Recommended | 2 vCPU | 4 GB | 40 GB |

-   A Linux server you administer, with SSH access and root or sudo for installation.
-   Docker with the Compose plugin. Node.js 20 or later for the installer CLI. The bootstrap script can install these prerequisites.
-   A domain, access to its DNS records and a DNS provider API token for certificate issuance.
-   Network access to download deployment files, container images and certificate dependencies.

## Worker machines

Firetower runs agents directly, without a container per agent. CPU and memory needs depend on your agents, tasks and how many run at once.

A Mac mini with 16 GB of memory is a practical starting point. A VPS with 8 GB or less can also work for lighter tasks. Builds, tests and large repositories may need more.

**Keep workers separate from the control plane**

Do not run your agents on the same VPS as the control plane. Use a separate machine for agent work.

Workers support macOS and Linux on arm64 and x86\_64. On Windows, run the worker inside WSL2.

-   SSH reachable from the control plane, using a dedicated account for agent work.
-   git, tmux, a POSIX shell, curl and tar.
-   The coding agents and project tools needed by your tasks.
-   Access to your git hosts, agent providers and project dependencies.

**Separate requirements**

Workers do not need Node.js or Docker just to run the Firetower worker. An agent or your project may need them.

## People and devices

Provide a reachable HTTPS URL and a Firetower account for each person. Install the company VPN on every device that needs private access.

Next: [install Firetower](https://usefiretower.com/docs/install-firetower).
