# Quick Start

## **Welcome to KubeMQ!**

In this guide, we’ll walk you through how to install KubeMQ into your Kubernetes cluster.

Before we can do anything, we need to ensure you have access to a Kubernetes cluster running 1.16 or later, and a functioning kubectl command on your local machine. (One easy option is to run Kubernetes on your local machine. We suggest [Docker Desktop](https://www.docker.com/products/docker-desktop) or [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/), but there are [many options](https://kubernetes.io/docs/setup/).)

## Step 0:

### Obtain KubeMQ License Key

1. Please visit: <https://account.kubemq.io/login/register> and register for a license token.
2. Wait for an email confirmation with your license Key

## Step 1:

{% tabs %}
{% tab title="Kubernetes" %}
Run:

```bash
kubectl apply -f https://deploy.kubemq.io/init
```

```bash
kubectl apply -f https://deploy.kubemq.io/key/<license-key>
```

{% endtab %}

{% tab title="Docker" %}
Run with default configuration:

{% code overflow="wrap" %}

```bash
docker run -d -p 8080:8080 -p 50000:50000 -p 9090:9090 -e KUBEMQ_TOKEN=<license-key> kubemq/kubemq
```

{% endcode %}

Run with configuration file:

{% code overflow="wrap" %}

```docker
docker run -d -p 8080:8080 -p 50000:50000 -p 9090:9090 -v $(pwd)/config.yaml:/kubemq/config.yaml -e KUBEMQ_TOKEN=<license-key> kubemq/kubemq
```

{% endcode %}
{% endtab %}
{% endtabs %}

## Step 2:

### Install kubemqctl CLI tool

{% tabs %}
{% tab title="MacOS/Linux" %}

```bash
sudo curl -sL https://get.kubemq.io/install | sudo sh
```

{% endtab %}

{% tab title="Windows" %}

### Option 1:

* [Download the latest kubemqctl.exe](https://github.com/kubemq-io/kubemqctl/releases/download/latest/kubemqctl.exe).
* Place the file under e.g. `C:\Program Files\kubemqctl\kubemqctl.exe`
* Add that directory to your system path to access it from any command prompt

### Option 2:

Run in PowerShell as administrator:

```bash
New-Item -ItemType Directory 'C:\Program Files\kubemqctl'
Invoke-WebRequest https://github.com/kubemq-io/kubemqctl/releases/download/latest/kubemqctl.exe -OutFile 'C:\Program Files\kubemqctl\kubemqctl.exe'
$env:Path += ';C:\Program Files\kubemqctl'
```

{% endtab %}
{% endtabs %}

## Step 3:

### Send 'Hello World'

```bash
kubemqctl queue send my-queue hello-world
```

### Get 'Hello World'

```bash
kubemqctl queue receive my-queue
```

## Step 4:

### Load KubeMQ Dashboard

```
kubemqctl get dashboard
```

<figure><img src="https://2828835384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2b9dwAGbMPWty0fPGr%2Fuploads%2FZgWYYxQEJfoLvxIQmYR5%2FSnag_1237dbef.png?alt=media&#x26;token=b6cf39c2-ea77-4df3-ae8b-2868e4aa3d7f" alt=""><figcaption><p>KubeMQ Dashboard</p></figcaption></figure>

## What's Next

### Build & Deploy KubeMQ Components

{% content-ref url="build-and-deploy" %}
[build-and-deploy](https://docs.kubemq.io/getting-started/build-and-deploy)
{% endcontent-ref %}

### Learn KubeMQ Basics

{% content-ref url="../learn/the-basics/channels" %}
[channels](https://docs.kubemq.io/learn/the-basics/channels)
{% endcontent-ref %}

{% content-ref url="../learn/the-basics/smart-routing" %}
[smart-routing](https://docs.kubemq.io/learn/the-basics/smart-routing)
{% endcontent-ref %}

{% content-ref url="../learn/the-basics/grouping" %}
[grouping](https://docs.kubemq.io/learn/the-basics/grouping)
{% endcontent-ref %}

### Learn KubeMQ Message Patterns

{% content-ref url="../learn/message-patterns/queue" %}
[queue](https://docs.kubemq.io/learn/message-patterns/queue)
{% endcontent-ref %}

{% content-ref url="../learn/message-patterns/pubsub" %}
[pubsub](https://docs.kubemq.io/learn/message-patterns/pubsub)
{% endcontent-ref %}

{% content-ref url="../learn/message-patterns/rpc" %}
[rpc](https://docs.kubemq.io/learn/message-patterns/rpc)
{% endcontent-ref %}

### Get started with KubeMQ message patterns

{% content-ref url="message-patterns/queues" %}
[queues](https://docs.kubemq.io/getting-started/message-patterns/queues)
{% endcontent-ref %}

{% content-ref url="message-patterns/pubsub" %}
[pubsub](https://docs.kubemq.io/getting-started/message-patterns/pubsub)
{% endcontent-ref %}

{% content-ref url="message-patterns/rpc" %}
[rpc](https://docs.kubemq.io/getting-started/message-patterns/rpc)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kubemq.io/getting-started/quick-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
