Flipt v2 is a single binary that can be run on any Linux or macOS host. You can install and try out Flipt v2 in a few different ways:
docker run -d \
    -p 8080:8080 \
    -p 9000:9000 \
    -v $HOME/flipt:/var/opt/flipt \
    docker.flipt.io/flipt/flipt:v2
For more details on each installation method, see the sections below.
Flipt v2.0.0 is now stable! Helm installation is available for Kubernetes deployments. Homebrew installation options are coming soon.

Supported Architectures

Flipt v2 is built for the following architectures/os:
  • x86-64 / Linux
  • ARM64 / Linux
  • x86-64 / Darwin/MacOS
  • ARM64 / Darwin/MacOS
You can find the binaries for each architecture in the Latest Release assets section on GitHub. The Docker image for Flipt v2 is multi-arch and supports both x86-64 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.

Docker

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:v2
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://127.0.0.1:8080 to view the application.
Flipt runs without the root user in the Docker container.

Configuration

A default configuration file is included 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:v2

Binary

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

Installing

You can use the following script to download and install the latest Flipt binary:
curl -fsSL https://get.flipt.io/v2 | sh
This will install Flipt to /usr/local/bin/flipt on Mac and Linux systems. View the install.sh source for more details.

Running

Run the Flipt server with:
flipt server [--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.

Kubernetes/Helm

Deploy Flipt v2 to Kubernetes using the official Helm chart. This method is ideal for production deployments and provides easy configuration management.

Prerequisites

  • Kubernetes cluster (local or remote)
  • Helm v3.x installed
  • kubectl configured to access your cluster

Installing

Add the Flipt Helm repository and install Flipt v2:
# Add the Flipt Helm repository
helm repo add flipt https://helm.flipt.io
helm repo update

# Install Flipt v2
helm install my-flipt-v2 flipt/flipt-v2

# Or with custom configuration
helm install my-flipt-v2 flipt/flipt-v2 -f values.yaml
The chart name is flipt-v2, which is separate from the v1 flipt chart. This ensures v2-specific configurations and compatibility.

Key Features

Flipt v2’s Helm chart includes:
  • Git-native storage: Works out-of-the-box without external databases
  • Environment support: Deploy multiple environments from different Git branches
  • Flexible configuration: Support for all v2 configuration options
  • Production ready: Includes security, observability, and scaling options

Configuration

Create a values.yaml file to customize your deployment:
flipt:
  config:
    log:
      level: INFO
      encoding: json
    server:
      grpc_port: 9000
      http_port: 8080
    cors:
      enabled: true
      allowed_origins:
        - "http://localhost:3000"
        - "https://your-frontend-domain.com"
    ui:
      default_theme: dark
      topbar:
        color: "#7C3AED"
    meta:
      check_for_updates: false
      telemetry_enabled: false
    metrics:
      enabled: true
      exporter: prometheus
    storage:
      default:
        backend:
          type: memory
This example showcases common v2 configuration options including CORS, UI customization, and observability settings. For production use with Git-backed storage, see the Git Storage guide.
For comprehensive deployment instructions and configuration examples, see the Deploy Flipt v2 to Kubernetes guide.