## 1. Project Overview & Quickstart (rabbitmq/rabbitmq-server)

# RabbitMQ Server

[](https://github.com/rabbitmq/rabbitmq-server/actions/workflows/test-make.yaml)

[RabbitMQ](https://rabbitmq.com) is a [feature rich](https://www.rabbitmq.com/docs),
multi-protocol messaging and streaming broker. It supports:

 * AMQP 1.0
 * AMQP 0-9-1
 * [RabbitMQ Stream Protocol](https://www.rabbitmq.com/docs/streams)
 * MQTT 3.1, 3.1.1, and 5.0
 * STOMP 1.0 through 1.2
 * [MQTT over WebSocket](https://www.rabbitmq.com/docs/web-mqtt)
 * [STOMP over WebSocket](https://www.rabbitmq.com/docs/web-stomp)
 * AMQP 1.0 over WebSocket (supported in [VMware Tanzu RabbitMQ](https://www.vmware.com/products/app-platform/tanzu-rabbitmq))


## Installation

 * [Currently supported](https://www.rabbitmq.com/release-information) released series
 * [Installation guides](https://www.rabbitmq.com/docs/download) for various platforms
 * [Kubernetes Cluster Operator](https://www.rabbitmq.com/kubernetes/operator/operator-overview)
 * [Changelog](https://www.rabbitmq.com/release-information)
 * [Releases](https://github.com/rabbitmq/rabbitmq-server/releases) on GitHub
 * [Community Support Eligibility Policy](https://github.com/rabbitmq/rabbitmq-server/blob/main/COMMUNITY_SUPPORT.md)
 * [Supported Erlang versions](https://www.rabbitmq.com/docs/which-erlang)


## Tutorials and Documentation

 * [RabbitMQ tutorials](https://www.rabbitmq.com/tutorials) and their [executable versions on GitHub](https://github.com/rabbitmq/rabbitmq-tutorials)
 * [Documentation guides](https://rabbitmq.com/docs/)
 * [RabbitMQ blog](https://blog.rabbitmq.com/)

Some key doc guides include

 * [CLI tools guide](https://www.rabbitmq.com/docs/cli)
 * [Clustering](https://www.rabbitmq.com/docs/clustering) and [Cluster Formation](https://www.rabbitmq.com/docs/cluster-formation)
 * [Configuration guide](https://www.rabbitmq.com/docs/configure)
 * [Client libraries and tools](https://www.rabbitmq.com/client-libraries/devtools)
 * [Upgrading](https://www.rabbitmq.com/docs/upgrade)
 * [Kubernetes Cluster Operator](https://www.rabbitmq.com/kubernetes/operator/operator-overview)
 * [Quorum queues](https://www.rabbitmq.com/docs/quorum-queues): a replicated, data safety- and consistency-oriented queue type
 * [Streams](https://www.rabbitmq.com/docs/streams): a persistent and replicated append-only log with non-destructive consumer semantics
 * [Runtime Parameters](https://www.rabbitmq.com/docs/parameters)
 * [Policies](https://www.rabbitmq.com/docs/policies)
 * [Monitoring](https://www.rabbitmq.com/docs/monitoring) and [Prometheus/Grafana](https://www.rabbitmq.com/docs/prometheus)
 * [Production checklist](https://www.rabbitmq.com/docs/production-checklist)

RabbitMQ documentation is also [developed on GitHub](https://github.com/rabbitmq/rabbitmq-website/).

## Commercial Features and Support

 * [Commercial editions of RabbitMQ](https://tanzu.vmware.com/rabbitmq)
 * [Commercial edition for Kubernetes](https://docs.vmware.com/en/VMware-RabbitMQ-for-Kubernetes/1/rmq/installation.html)
 * [Commercial support](https://tanzu.vmware.com/rabbitmq/oss) from [Broadcom](https://vmware.com) for open source RabbitMQ

## Getting Help from the Community

Please read the [Community Support Eligibility Policy](https://github.com/rabbitmq/rabbitmq-server/blob/main/COMMUNITY_SUPPORT.md) document
first.

The recommended community forums are

 * [GitHub Discussions](https://github.com/rabbitmq/rabbitmq-server/discussions/)
 * [Community Discord server](https://rabbitmq.com/discord/)
 * `#rabbitmq` on [Libera Chat](https://libera.chat/)


## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) and our [development process overview](https://www.rabbitmq.com/github).

Questions about contributing, internals and so on are very welcome in [GitHub Discussions](https://github.com/rabbitmq/rabbitmq-server/discussions)
or [community Discord server](https://www.rabbitmq.com/discord/) in the `contributors` channel.


## Licensing

RabbitMQ server is [licensed under the MPL 2.0](LICENSE-MPL-RabbitMQ).

[Community Support Eligibility Policy](https://github.com/rabbitmq/rabbitmq-server/blob/main/COMMUNITY_SUPPORT.md)
document explains the open source RabbitMQ support policy adopted by the RabbitMQ Core Team.


## AI Agent Instructions

See `AGENTS.md`.


## Building From Source and Packaging

 * [Contributor resources](https://github.com/rabbitmq/contribute)
 * [Building RabbitMQ from Source](https://www.rabbitmq.com/docs/build-server)
 * [Building RabbitMQ Distribution Packages](https://www.rabbitmq.com/docs/build-server)


## Copyright

(c) 2007-2026 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.

## 2. Official Technical Reference & Guides (rabbitmq/rabbitmq-website)

## File: README.md

# Website

This repository contains the source code of the RabbitMQ website, rabbitmq.com.
**Please make sure to read the Workflow section before contributing**.

### Before You Start: Please Sign Our Contributor CLA

If this is your first contribution to RabbitMQ and it involves more than a typo fix,
please [sign our contributor CLA](https://github.com/rabbitmq/cla).

The process involves one email and one online signature using a legally binding digital signature service.

Sorry about this annoyance and thank you!

## Contribution Workflow

### TL;DR

This repository contains documentation guides for multiple RabbitMQ release series.

Therefore, the very first question to consider before making any changes is:
what editions (versions) does my change apply to? Should I update just the next release edition,
all `4.x` ones or even `3.13.x`?

Here is a summary of which version of the documentation corresponds to which
branch and directory:

| Version of RabbitMQ | Branch | Sub-directory | Served at |
|---------------------|--------|---------------|-----------|
| Development version (4.4) | [`main`](https://github.com/rabbitmq/rabbitmq-website/tree/main) | `docs` | [`www.rabbitmq.com/docs/next`](https://www.rabbitmq.com/docs/next) |
| 4.3 | [`main`](https://github.com/rabbitmq/rabbitmq-website/tree/main) | `versioned_docs/version-4.3` | [`www.rabbitmq.com/docs`](https://www.rabbitmq.com/docs) |
| 4.2 | [`main`](https://github.com/rabbitmq/rabbitmq-website/tree/main) | `versioned_docs/version-4.2` | [`www.rabbitmq.com/docs/4.2`](https://www.rabbitmq.com/docs/4.2) |
| 4.1 | [`main`](https://github.com/rabbitmq/rabbitmq-website/tree/main) | `versioned_docs/version-4.1` | [`www.rabbitmq.com/docs/4.1`](https://www.rabbitmq.com/docs/4.1) |
| 4.0 | [`main`](https://github.com/rabbitmq/rabbitmq-website/tree/main) | `versioned_docs/version-4.0` | [`www.rabbitmq.com/docs/4.0`](https://www.rabbitmq.com/docs/4.0) |
| 3.13 | [`main`](https://github.com/rabbitmq/rabbitmq-website/tree/main) | `versioned_docs/version-3.13` | [`www.rabbitmq.com/docs/3.13`](https://www.rabbitmq.com/docs/3.13) |
| 3.12 | [`v3.12.x`](https://github.com/rabbitmq/rabbitmq-website/tree/v3.12.x) | root | (no longer available) |

### Branches and Versioning

The `main` branch is the production branch. Commits to it are deployed
automatically to www.rabbitmq.com.

All editions (versions) of the docs live side by side in the `main` branch.

Docusaurus uses the following directories:

* `docs` contains the docs of the future version of RabbitMQ, thus it is the
  work in progress. It is served at [rabbitmq.com/docs/next](https://www.rabbitmq.com/docs/next)
* `versioned_docs` contains one directory per version; for example,
  `versioned_docs/version-4.1`. The latest version is served at
  [rabbitmq.com/docs](https://www.rabbitmq.com/docs). Older versions are served at
  `…/docs/$version`, for example [rabbitmq.com/docs/3.13](https://www.rabbitmq.com/docs/3.13).

Changes should be made to `docs` and to any version they apply. Here is an
example:

```
# Make changes to the future version’s docs.
$EDITOR docs/configure.md

# Test the change in a browser.
npm start

# Once happy, apply to the relevant older release series
cd versioned_docs/version-4.0
git diff ../../docs | patch -p2

# Test again in a browser.
npm start

# Commit everything.
git add docs versioned_docs
git commit
```

Please read the [documentation on versioning in Docusaurus](https://docusaurus.io/docs/versioning) to learn more.

Older versions of the docs that we don’t want to host in Docusaurus to limit
the number of versions are put in branches of the form `v3.13.x`, `v4.0.x`,
etc. These branches are deployed automatically too and they use domain names of
the form `v3-13.rabbitmq.com`, `v4-0.rabbitmq.com`, etc. respectively. Note
that these branches used as examples may not exist yet if the corresponding
docs are still maintained in the `main` branch.

### How to Build the Site

This website is built using [Docusaurus 3](https://docusaurus.io/), a modern
static website generator.

#### Dependency Installation

You need to install JS components used by Docusaurus first with `yarn` or `npm`.
The examples below use `npm`.

``` shell
# for NPM users
npm install
```

You need to do this once only.

### Local Development

The following command starts a local development server and opens up a default browser
window. Most changes are reflected live without having to restart the server.

``` shell
npm start
```

To use a different browser, for example, Brave Beta, set the `BROWSER` env variable
when running `npm start`:

``` shell
BROWSER="Brave Beta" npm start
```

### Build

The following command generates static content into the `build` directory and
can be served using any static contents hosting service.

``` shell
npm run docusaurus '--' build '--dev'
```

This is important to run this command before pushing changes to GitHub to make
sure the build is successful. This is the command that will be used to deploy
the website in production.

## How to Add a New Version Series

When a new version series comes out, a separate edition of the docs must
be explicitly added using

```shell
# adds a series for 4.3.x
npm run docusaurus docs:version 4.3
```


## Copyright and License

© 2007-2025 Broadcom. All Rights Reserved. The term "Broadcom" refers to
Broadcom Inc. and/or its subsidiaries.



The RabbitMQ documentation is dual-licensed under the Apache License 2.0 and
the Mozilla Public License 2.0. Users can choose any of these licenses
according to their needs. However, **the blog is excluded from this license and
remains the intellectual property of Broadcom Inc.** Blog posts may not be
redistributed.

### SPDX

SPDX-License-Identifier: Apache-2.0 OR MPL-2.0

---

## File: docs/index.md

---
title: RabbitMQ Documentation
---


import {
    RabbitMQServerReleaseBranch,
    RabbitMQServerVersion,
} from '@site/src/components/RabbitMQServer';

# RabbitMQ <RabbitMQServerReleaseBranch/> Documentation

Welcome to RabbitMQ documentation!

:::note
You are currently viewing the documentation for RabbitMQ
<RabbitMQServerVersion/>.
:::



<h2>Documentation is Versioned</h2>

Use the drop-down menu on the top right of any page
Click the *hamburger* icon at the top left and then click **Back to main menu**
to select the documentation version for the RabbitMQ release that you are
using. We update each version of documentation with the latest patch
information for that release.



<h2>Table of Contents</h2>

Use the navigation on the left
Click the *hamburger* icon at the top left
to browse through documentation for your release of RabbitMQ. This table of
contents is structured so it can be used by the two main RabbitMQ users:
Developers and Administrators.



## If you are a Developer

You might want to start with [Getting Started](/tutorials) if you are new to
RabbitMQ. These tutorials will guide you on how to use RabbitMQ.

If you are familiar with RabbitMQ, go directly to the **How to Use RabbitMQ**
information to start exploring it.

## If you are an Administrator

The table of contents for administrators is structured this way:

- The **How to Manage RabbitMQ** section provides documentation for configuring
  and managing the RabbitMQ broker.
- The **How to Monitor RabbitMQ** section includes information which will guide
  you on how to setup monitoring for RabbitMQ and the applications that use it.