# GCP

Deploy Quor on GCP Compute Engine

import CustomDomain from "/snippets/custom-domain.mdx"
import InstallOnyx from "/snippets/install-onyx.mdx"
import DeploymentNextSteps from "/snippets/deployment-next-steps.mdx"

**Make sure your Google Cloud Platform account has the necessary permissions to create a VM instance.**

<Steps>
  <Step title="Create a VM instance">
    Create a VM instance with the appropriate resources. For this guide,
    we will use the recommended `e2-standard-4` instance.

    <Note>
      Read our [Resourcing guide](/deployment/getting_started/resourcing) for more details.
    </Note>

    - Give your instance a descriptive name like `onyx-prod`
    - Select the `Debian GNU/Linux 12` boot disk
    - Select the `e2-standard-4` machine type
    - Select `Allow HTTPS traffic` in the **Firewall** section
    - Configure storage following the Resourcing Guide

    <img className="rounded-image" src="/assets/deployment/setup_guides/gcp/CreateVmInstance.png" alt="Create VM Instance"/>

    <img className="rounded-image" src="/assets/deployment/setup_guides/gcp/Instance.png" alt="Instance Settings"/>

    <img className="rounded-image" src="/assets/deployment/setup_guides/gcp/Firewall.png" alt="Firewall Settings"/>
  </Step>

  <Step title="Create the instance">
    Click **Create** and then view your instance details.

    <Tip>
      Save the **External IP** of the instance!
    </Tip>
  </Step>

  <CustomDomain />

  <Step title="Install Quor requirements">
    Quor requires `git`, `docker`, and `docker compose`.

    To install these on Debian GNU/Linux 12, run the following:

        ```bash
        sudo apt update
        sudo apt install -y ca-certificates curl gnupg

        sudo install -m 0755 -d /etc/apt/keyrings
        curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
        sudo chmod a+r /etc/apt/keyrings/docker.gpg
        echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

        sudo apt update
        sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
        ```

    If using CentOS, Red Hat Linux, or similar, run the following:

        ```bash
        sudo yum update -y

        sudo yum install docker -y
        sudo service docker start

        sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
        sudo chmod +x /usr/local/bin/docker-compose

        sudo yum install git
        ```
  </Step>

  <InstallOnyx />
</Steps>

<DeploymentNextSteps />
