fleet/docs/2-Deployment/1-Installation.md
Mike McNeil 2b1b8c8a2b
typofix
2021-02-22 16:42:30 -06:00

3.2 KiB

Installation

The Fleet application is distributed as a single static binary. This binary serves:

  • The Fleet web interface
  • The Fleet application API endpoints
  • The osquery TLS server API endpoints

All of these are served via a built-in HTTP server, so there is no need for complex web server configurations. Once you've installed the fleet binary and it's infrastructure dependencies as illustrated below, refer to the Configuration documentation for information on how to use and configure the Fleet application.

Installing the Fleet binary

Because everyone's infrastructure is different, there are multiple options available for installing the Fleet binary.

Docker container

Pull the latest Fleet docker image:

docker pull fleetdm/fleet

For more information on using Fleet, refer to the Configuration documentation.

Raw binaries

Download the latest raw Fleet binaries:

curl -LO https://github.com/fleetdm/fleet/releases/latest/download/fleet.zip

Unzip the binaries for your platform:

# For a Darwin compatible binary
unzip fleet.zip 'darwin/*' -d fleet
./fleet/darwin/fleet_darwin_amd64 --help

# For a Linux compatible binary
unzip fleet.zip 'linux/*' -d fleet
./fleet/linux/fleet_linux_amd64 --help

For more information on using Fleet, refer to the Configuration documentation.

Infrastructure Dependencies

Fleet currently has two infrastructure dependencies in addition to the fleet web server itself. Those dependencies are MySQL and Redis.

MySQL

Fleet uses MySQL extensively as its main database. Many cloud providers (such as AWS and GCP) host reliable MySQL services which you may consider for this purpose. A well supported MySQL Docker container also exists if you would rather run MySQL in a container. For more information on how to configure the fleet binary to use the correct MySQL instance, see the Configuration document.

Fleet requires at least MySQL version 5.7.

For host expiry configuration, the event scheduler must be enabled. This can be enabled via the command line, configuration file, or a user with the required privileges.

Redis

Fleet uses Redis to ingest and queue the results of distributed queries, cache data, etc. Many cloud providers (such as AWS and GCP) host reliable Redis services which you may consider for this purpose. A well supported Redis Docker container also exists if you would rather run Redis in a container. For more information on how to configure the fleet binary to use the correct Redis instance, see the Configuration document.