Quickstart

Flipt is a single binary that can be run on any Linux or macOS (arm64) host. You can install and try out Flipt in a few different ways:

curl -fsSL https://github.com/flipt-io/flipt/raw/main/install.sh | sh

For more details on each installation method, see the sections below.

Docker

The simplest way to run Flipt is via Docker. This streamlines the installation and configuration by using a reliable runtime.

Prerequisites

Docker installation is required on the host, see the official installation docs.

Flipt requires Docker Engine version 20.10 or higher.

Running

docker run -d \
    -p 8080:8080 \
    -p 9000:9000 \
    -v $HOME/flipt:/var/opt/flipt \
    docker.flipt.io/flipt/flipt:latest

This will download the image and start a Flipt container and publish ports needed to access the UI and backend server. All persistent Flipt data will be stored in $HOME/flipt.

$HOME/flipt is just used as an example, you can use any directory you would like on the host.

The Flipt container uses host-mounted volumes to persist data:

Host locationContainer locationPurpose
$HOME/flipt/var/opt/fliptFor storing application data

This allows data to persist between Docker container restarts.

If you don’t use mounted volumes to persist your data, your data will be lost when the container exits!

After starting the container you can visit http://0.0.0.0:8080 to view the application.

Flipt runs without the root user in the Docker container.

Configuration

A default configuration file within the image. To supply a custom configuration, update the docker run command to mount your local configuration into the container

docker run -d \
    -p 8080:8080 \
    -p 9000:9000 \
    -v $HOME/flipt:/var/opt/flipt \
    -v $HOME/flipt/config.yaml:/etc/flipt/config.yaml \
    docker.flipt.io/flipt/flipt:latest

Kubernetes/Helm

You can run Flipt in Kubernetes using the Flipt Helm chart.

Any issues or suggestions on how to improve the Flipt Helm chart are welcome in the chart repository.

Checkout our new Deploy to Kubernetes guide for an in-depth look into deploying Flipt to Kubernetes using our Helm chart.

Prerequisites

Helm must be installed to use the chart. Please refer to Helm’s documentation to get started.

Once Helm is set up properly, add the Flipt Helm repository as follows:

helm repo add flipt https://helm.flipt.io

Installing

You can install the Flipt Helm chart with the following command:

helm install flipt flipt/flipt

Homebrew

You can install Flipt using Homebrew on macOS and Linux.

Flipt runs as a service and is managed by Homebrew Services. This means you can start and stop Flipt using the brew services command.

Installing

brew install flipt-io/brew/flipt

Running

brew services start flipt

Alternatively, you can start Flipt in the foreground using:

flipt

Binary

You can always download the latest release archive of Flipt from the Releases section on GitHub.

Installing

You can use the following script to download and install the latest Flipt binary:

curl -fsSL https://github.com/flipt-io/flipt/raw/main/install.sh | sh

View the install.sh source for more details.

Running

Run the Flipt binary with:

./flipt [--config OPTIONAL_PATH_TO_YOUR_CONFIG]

Flipt will check in a few different locations for server configuration (in order):

  1. --config flag as an override
  2. {{ USER_CONFIG_DIR }}/flipt/config.yml (the USER_CONFIG_DIR value is based on your architecture and specified in the Go documentation)
  3. /etc/flipt/config/default.yml

See the Configuration section for more details.

Supported Architectures

Flipt is built for the following architectures/os:

  • amd64 / linux
  • arm64 / linux
  • arm64 / darwin

You can find the binaries for each architecture in the Latest Release assets section on GitHub.

The Docker image for Flipt is also multi-arch and supports both amd64 and arm64 architectures on Linux.

If you need a different architecture, please open an issue on the GitHub repository and we will try to accommodate your request.