# Prerequisites

# Prerequisites

Before enrolling a device, confirm it meets the requirements below. The install scripts perform some of these checks automatically and will stop with a clear error if a hard requirement is missing.

## Hardware

- Any machine capable of running your target application(s) is sufficient — GateBeacon's own footprint is a lightweight background connector process.
- As a practical minimum, keep at least **1 vCPU and 1 GB of RAM** free beyond what your published applications need.
- If you plan to install multiple catalog applications, budget more — each one runs as its own Docker container.

## Software

**Linux**

- Root or `sudo` access to run the installer.
- One of the [supported distributions](/books/gatebeacon-documentation/page/supported-operating-systems) (see Supported Operating Systems).
- `systemd` — GateBeacon's background services run as systemd units.
- Docker — installed automatically by the setup script if not already present.
- The installer also provisions its own supporting utilities (`curl`, `tar`, `unzip`, `ufw`, `iproute2`, `jq`, `kmod`) if missing.

**Windows**

- Administrator rights to run the installer.
- The **Windows OpenSSH Client** optional feature — installed automatically if not already enabled.
- PowerShell (built in to all supported Windows versions).

## Network

- **Outbound HTTPS (443) connectivity** from the device to GateBeacon's API and tunnel endpoints. No inbound port needs to be opened on your router or firewall.
- Working DNS resolution on the device — the Linux installer explicitly checks IP configuration, internet reachability, and DNS resolution before proceeding, and will stop with an error if any of these fail.
- If the device sits behind a network that blocks outbound 443 (some locked-down corporate networks or proxies), the tunnel cannot be established — check with your network administrator first.

## Things That Are Not Supported

- **Non-apt Linux distributions.** RHEL, CentOS, Fedora, openSUSE, Arch, and similar are not currently supported by the automated installer — see [Supported Operating Systems](/books/gatebeacon-documentation/page/supported-operating-systems) for the exact distribution list.
- **Offline / air-gapped installation.** Both the installer and the ongoing tunnel connection require internet access; there is no offline install path.
- **Cloned VM images with a shared identity.** Linux device identity defaults to `/etc/machine-id`. If you clone a VM or disk image and enroll multiple copies without regenerating this file, GateBeacon detects the collision and issues the second device a new identity automatically — this is handled safely, but it means the second device will **not** appear as the same device record as the first. If you intend to enroll multiple devices from the same image, regenerate `/etc/machine-id` on each clone before enrollment (for example, `sudo rm /etc/machine-id && sudo systemd-machine-id-setup`).

## Before You Continue

Once your device meets the above, proceed to [Creating Your GateBeacon Account](/books/gatebeacon-documentation/page/creating-your-gatebeacon-account) if you don't have one yet, or straight to [Enrolling a Linux Device](/books/gatebeacon-documentation/page/enrolling-a-linux-device) / [Enrolling a Windows Device](/books/gatebeacon-documentation/page/enrolling-a-windows-device).