> ## Documentation Index
> Fetch the complete documentation index at: https://www.qovery.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# BYOK (Bring Your Own Kubernetes)

> Install Qovery on your own Kubernetes cluster

Qovery Self-Managed (also known as BYOK: Bring Your Own Kubernetes) is a self-hosted version of Qovery. It allows you to install Qovery on your own Kubernetes cluster.

<Warning>
  **For Kubernetes Experts Only**: Qovery BYOK is for Kubernetes experts who
  want to manage their own Kubernetes cluster.
</Warning>

<Note>
  Qovery automatically updates ONLY the Qovery applications (agent, shell-agent, etc.) via the Qovery Helm chart. With the self-managed offer, it will be up to you to manage any dependency components (ingress, DNS, logging), making sure they run with the right version over time.

  The dependencies provided with the Qovery Helm chart are here to help you with the bootstrap, and are not maintained by Qovery.
</Note>

## Prerequisites

Before you begin, ensure you have:

<Check>An operational Kubernetes cluster (any distribution)</Check>
<Check>Minimum 4 CPUs and 8GB RAM available in your cluster</Check>
<Check>`kubectl` installed and configured for cluster access</Check>
<Check>`helm` package manager installed</Check>
<Check>Active Qovery account - [Sign up here](https://start.qovery.com)</Check>

## Installation

### Step 1: Install Qovery CLI

Install the Qovery CLI on your local machine:

<Tabs>
  <Tab title="Linux">
    <Tabs>
      <Tab title="*nix">
        To download and install Qovery CLI on any Linux distribution:

        ```bash theme={null}
        curl -s https://get.qovery.com | bash
        ```

        <Warning>
          The install script does not verify the binary's integrity. For security-sensitive environments, use the **Manual** tab to download a pinned release and verify its checksum against the official [checksums.txt](https://github.com/Qovery/qovery-cli/releases) published with each release.
        </Warning>
      </Tab>

      <Tab title="Arch Linux">
        Qovery is part of [AUR](https://aur.archlinux.org/packages) packages, so you can install it with [yay](https://github.com/Jguer/yay):

        ```bash theme={null}
        yay qovery-cli
        ```
      </Tab>

      <Tab title="Manual">
        Install the Qovery CLI on Linux manually from a [pinned release](https://github.com/Qovery/qovery-cli/releases) to ensure you control what version is installed.

        Replace `X.Y.Z` with the version you want to install:

        ```bash theme={null}
        VERSION=1.48.0  # version number without the 'v' prefix
        ARCH=amd64      # use arm64 for ARM64
        ARCHIVE="qovery-cli_${VERSION}_linux_${ARCH}.tar.gz"

        # Download the binary and checksums for your platform
        curl -sL "https://github.com/Qovery/qovery-cli/releases/download/v${VERSION}/${ARCHIVE}" -o "${ARCHIVE}"
        curl -sL "https://github.com/Qovery/qovery-cli/releases/download/v${VERSION}/checksums.txt" -o checksums.txt

        # Verify the checksum of the downloaded file only (fails if tampered)
        grep "${ARCHIVE}" checksums.txt | sha256sum --check

        # Extract and install
        tar -xzf "${ARCHIVE}"
        mv qovery /usr/local/bin/qovery
        chmod +x /usr/local/bin/qovery
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="MacOS">
    <Tabs>
      <Tab title="Homebrew">
        The common solution to install a command line binary on the MacOS is to use [Homebrew](https://brew.sh).

        ```bash theme={null}
        # Add Qovery brew repository
        brew tap Qovery/qovery-cli

        # Install the CLI
        brew install qovery-cli
        ```
      </Tab>

      <Tab title="Script">
        To download and install Qovery CLI from the command line:

        ```bash theme={null}
        curl -s https://get.qovery.com | bash
        ```

        <Warning>
          The install script does not verify the binary's integrity. For security-sensitive environments, use the **Manual** tab to download a pinned release and verify its checksum against the official [checksums.txt](https://github.com/Qovery/qovery-cli/releases) published with each release.
        </Warning>
      </Tab>

      <Tab title="Manual">
        Install the Qovery CLI on macOS manually from a [pinned release](https://github.com/Qovery/qovery-cli/releases) to ensure you control what version is installed.

        Replace `X.Y.Z` with the version you want to install:

        ```bash theme={null}
        VERSION=1.48.0  # version number without the 'v' prefix
        ARCH=amd64      # use arm64 for Apple Silicon (M1/M2/M3)
        ARCHIVE="qovery-cli_${VERSION}_darwin_${ARCH}.tar.gz"

        # Download the binary and checksums for your platform
        curl -sL "https://github.com/Qovery/qovery-cli/releases/download/v${VERSION}/${ARCHIVE}" -o "${ARCHIVE}"
        curl -sL "https://github.com/Qovery/qovery-cli/releases/download/v${VERSION}/checksums.txt" -o checksums.txt

        # Verify the checksum of the downloaded file only (fails if tampered)
        grep "${ARCHIVE}" checksums.txt | shasum -a 256 --check

        # Extract and install
        tar -xzf "${ARCHIVE}"
        mv qovery /usr/local/bin/qovery
        chmod +x /usr/local/bin/qovery
        ```
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="Windows">
    <Tabs>
      <Tab title="Scoop">
        The classic way to install binaries on Windows is to use [Scoop](https://scoop.sh).

        ```bash theme={null}
        # Add Qovery bucket
        scoop bucket add qovery https://github.com/Qovery/scoop-qovery-cli

        # Install the CLI
        scoop install qovery-cli
        ```
      </Tab>

      <Tab title="Manual">
        Install the Qovery CLI on Windows manually by downloading the [latest release](https://github.com/Qovery/qovery-cli/releases), and uncompress its content to `C:\Windows`.
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="Docker">
    Install Docker on your local machine and run the following command:

    ```bash theme={null}
    # Pull and Run the latest Qovery CLI
    docker run ghcr.io/qovery/qovery-cli:latest help
    ```

    Change `latest` by the version you want to use. For example, to use the version 0.58.4, run:

    ```bash theme={null}
    docker run ghcr.io/qovery/qovery-cli:0.58.4 help
    ```

    <Info>
      `ghcr.io` is the [GitHub Container Registry](https://github.com/Qovery/qovery-cli/pkgs/container/qovery-cli).
    </Info>
  </Tab>
</Tabs>

### Step 2: Authenticate

Authenticate with your Qovery account:

```bash theme={null}
qovery auth
```

This will open a browser window for authentication.

<Tip>
  For headless environments (CI/CD, remote servers) without a graphical
  interface, use `qovery auth --headless` and follow the instructions to
  authenticate manually.
</Tip>

### Step 3: Deploy to Kubernetes

Run the installation command and follow the interactive prompts:

```bash theme={null}
qovery cluster install
```

The installation typically takes 5-10 minutes.

## Post-Installation

After successful deployment:

1. **Validate Installation**: Check that all Qovery components are running:

   ```bash theme={null}
   kubectl get pods -n qovery
   ```

2. **Verify in Console**: Log in to [Qovery Console](https://console.qovery.com) to confirm your cluster appears with a **Connected** status.

3. **Deploy Applications**: You can now start deploying your applications through the Qovery Console.

<Tip>
  For comprehensive validation steps and troubleshooting, see the [BYOK
  Integration Guide](/configuration/integrations/kubernetes/byok).
</Tip>

## Next Steps

<CardGroup cols={2}>
  <Card title="Deploy Your First App" icon="rocket" href="/getting-started/guides/getting-started/deploy-your-first-application">
    Follow our quickstart guide
  </Card>

  <Card title="BYOK Advanced Configuration" icon="sliders" href="/configuration/integrations/kubernetes/byok">
    Detailed setup and configuration options
  </Card>

  <Card title="Qovery Helm Chart" icon="https://mintcdn.com/qovery/Nvnl0g5BHzA0XQmy/images/logos/helm-icon.svg?fit=max&auto=format&n=Nvnl0g5BHzA0XQmy&q=85&s=f6c259d3ee3123f80e74bcb99c9f6f1d" href="https://github.com/Qovery/qovery-chart" width="24" height="24" data-path="images/logos/helm-icon.svg">
    View on GitHub
  </Card>

  <Card title="Get Help" icon="headset" href="/getting-started/useful-resources/help-and-support">
    Contact support
  </Card>

  <Card title="Kubernetes Changelog" icon="newspaper" href="https://www.qovery.com/changelog---kubernetes">
    Kubernetes cluster related updates
  </Card>
</CardGroup>
