# Deploy for Development

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: Deploy for Development
latest-redpanda-tag: v26.1.9
latest-console-tag: v3.7.3
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "false"
page-eol-date: March 31, 2027
latest-connect-version: 4.93.0
docname: redpanda/manual/production/dev-deployment
page-component-name: streaming
page-version: "26.1"
page-component-version: "26.1"
page-component-title: Streaming
page-relative-src-path: redpanda/manual/production/dev-deployment.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/main/modules/deploy/pages/redpanda/manual/production/dev-deployment.adoc
description: Steps to deploy a Redpanda sandbox cluster.
page-git-created-date: "2025-08-15"
page-git-modified-date: "2026-03-31"
support-status: supported
---

<!-- Source: https://docs.redpanda.com/streaming/current/deploy/redpanda/manual/production/dev-deployment.md -->

You can deploy Redpanda using well-known configuration properties optimized for a development or test environment. This configuration uses less system resources and simplifies setup, but it’s not suitable for a production deployment. For example, in [development mode](https://docs.redpanda.com/streaming/current/reference/rpk/rpk-redpanda/rpk-redpanda-mode/#development-mode), the default `group_topic_partitions` is 3, and the default `storage_min_free_bytes` is 1 GiB. In production mode, the default `group_topic_partitions` is 16, and the default `storage_min_free_bytes` is 5 GiB.

> 📝 **NOTE**
>
> -   Development mode enables write caching by default. This is a relaxed mode of [`acks=all`](https://docs.redpanda.com/streaming/current/develop/produce-data/configure-producers/#acksall) that acknowledges a message as soon as it is received and acknowledged on a majority of brokers, without waiting for it to fsync to disk. Write caching provides lower latency while still ensuring that a majority of brokers acknowledge the write. For more information, or to disable this, see [write caching](https://docs.redpanda.com/streaming/current/develop/manage-topics/config-topics/#configure-write-caching).
>
> -   Development mode also bypasses `fsync`, acknowledging messages before they’re stored to disk. This reduces the durability of messages, could cause potential data loss, and could give unrealistic performance characteristics for a production environment.

To deploy for a production environment, see [Deploy for Production](https://docs.redpanda.com/streaming/current/deploy/redpanda/manual/production/production-deployment/). Or to try out Redpanda in Docker, see [Redpanda Quickstart](https://docs.redpanda.com/streaming/current/get-started/quick-start/).

## [](#prerequisites)Prerequisites

Make sure you meet the [hardware and software requirements](https://docs.redpanda.com/streaming/current/deploy/redpanda/manual/production/requirements/).

### [](#tcpip-ports)TCP/IP ports

Redpanda uses the following default ports:

| Port | Purpose |
| --- | --- |
| 9092 | Kafka API |
| 8082 | HTTP Proxy |
| 8081 | Schema Registry |
| 9644 | Admin API and Prometheus |
| 33145 | internal RPC |

## [](#install-redpanda)Install Redpanda

Install Redpanda on each system you want to be part of your cluster. There are binaries available for Fedora/RedHat or Debian systems.

Unless you intend to run Redpanda in FIPS-compliance mode, the following packages should accommodate your needs (for both Debian and Redhat based systems):

`redpanda`

-   Contains the Redpanda application and all supporting libraries

-   Depends on `redpanda-tuner` and either `redpanda-rpk` or `redpanda-rpk-fips`


`redpanda-rpk`

-   Contains the pure GoLang compiled `rpk` application

-   If you wish to use `rpk` only, then this is the only required install package


`redpanda-tuner`

-   Contains the files used to run Redpanda tuners

-   Depends on `redpanda-rpk` or `redpanda-rpk-fips`


### Fedora/RedHat

```bash
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.rpm.sh' | \
sudo -E bash && sudo yum install redpanda -y
```

> ❗ **IMPORTANT**
>
> To install a version of Redpanda that is older than the latest available version, you must also specify each dependency. For example, if installing `24.3.1~rc1-1` and you fail to specify each package and its version, you may encounter the following error:
>
> ```bash
> yum install redpanda=24.3.1~rc1-1
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
>
> The following packages have unmet dependencies:
>  redpanda : Depends: redpanda-rpk (= 24.3.1~rc1-1) but it is not going to be installed or
>                      redpanda-rpk-fips (= 24.3.1~rc1-1) but it is not going to be installed
>             Depends: redpanda-tuner (= 24.3.1~rc1-1) but it is not going to be installed
> E: Unable to correct problems, you have held broken packages.
> ```
>
> To troubleshoot this error, specify the full list of versions for each package. In this case:
>
> ```bash
> yum install \
>   redpanda-tuner=24.3.1~rc1-1 \
>   redpanda-rpk=24.3.1~rc1-1 \
>   redpanda=24.3.1~rc1-1
> ```

### Debian/Ubuntu

```bash
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.deb.sh' | \
sudo -E bash && sudo apt install redpanda -y
```

> ❗ **IMPORTANT**
>
> To install a version of Redpanda that is older than the latest available version, you must also specify each dependency. For example, if installing `24.3.1~rc1-1` and you fail to specify each package and its version, you may encounter the following error:
>
> ```bash
> apt install redpanda=24.3.1~rc1-1
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
>
> The following packages have unmet dependencies:
>  redpanda : Depends: redpanda-rpk (= 24.3.1~rc1-1) but it is not going to be installed or
>                      redpanda-rpk-fips (= 24.3.1~rc1-1) but it is not going to be installed
>             Depends: redpanda-tuner (= 24.3.1~rc1-1) but it is not going to be installed
> E: Unable to correct problems, you have held broken packages.
> ```
>
> To troubleshoot this error, specify the full list of versions for each package. In this case:
>
> ```bash
> apt install \
>   redpanda-tuner=24.3.1~rc1-1 \
>   redpanda-rpk=24.3.1~rc1-1 \
>   redpanda=24.3.1~rc1-1
> ```

## [](#install-redpanda-for-fips-compliance)Install Redpanda for FIPS compliance

> 📝 **NOTE**
>
> This feature requires an [enterprise license](https://docs.redpanda.com/streaming/current/get-started/licensing/). To get a trial license key or extend your trial period, [generate a new trial license key](https://redpanda.com/try-enterprise). To purchase a license, contact [Redpanda Sales](https://redpanda.com/upgrade).
>
> If Redpanda has enterprise features enabled and it cannot find a valid license, [restrictions](https://docs.redpanda.com/streaming/current/get-started/licensing/#self-managed) apply.

To install Redpanda for FIPS compliance, install the packages `redpanda-fips` and `redpanda-rpk-fips`, which automatically pull in all required dependencies.

`redpanda-fips`

-   Contains the OpenSSL FIPS-approved module and scripts required to set up and run Redpanda in FIPS-compliance mode.

-   Depends upon the successful installation of the `redpanda` package.

-   Includes the `fips.so` cryptographic provider (built from OpenSSL v3.0.9, which is the latest FIPS 140-2 approved module) and a copy of the OpenSSL application.

-   Executes `openssl fipsinstall` against the `fips.so` module, which generates a `fipsmodule.cnf` file that is used during the module’s POST (power-on-self-test) to validate the integrity of the module.


`redpanda-rpk-fips`

-   Contains a version of `rpk` built with the [Microsoft GoLang compiler](https://github.com/microsoft/go) and [Microsoft’s Go Crypto OpenSSL package](https://github.com/microsoft/go-crypto-openssl) to which `rpk` is linked, and uses the FIPS-approved version of OpenSSL.


### RHEL

To install Redpanda for FIPS compliance, run:

```bash
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.rpm.sh' | \
sudo -E bash && sudo yum install redpanda -y
```

> 📝 **NOTE**
>
> Alternatively, you could run `sudo yum install -y redpanda-fips`, which also picks up and includes the `redpanda` install package.

If you wish to only use `rpk` on a FIPS host, run:

```bash
sudo yum install -y redpanda-fips redpanda-rpk-fips
```

### Debian/Ubuntu

To install Redpanda for FIPS compliance, run:

```bash
sudo apt install redpanda-fips redpanda-rpk-fips
```

> 📝 **NOTE**
>
> Alternatively, you could run `sudo apt install redpanda-fips`, which also picks up and includes the `redpanda` install package.

If you wish to only use `rpk` on a FIPS host, run:

```bash
sudo apt install -y redpanda-rpk-fips
```

See also: [Configure Redpanda for FIPS](https://docs.redpanda.com/streaming/current/manage/security/fips-compliance/)

## [](#install-redpanda-console)Install Redpanda Console

For detailed instructions on installing and configuring Redpanda Console, see [Deploy Redpanda Console on Linux](https://docs.redpanda.com/streaming/current/deploy/console/linux/deploy/).

## [](#bootstrapping)Bootstrap broker configurations

Each broker requires a set of broker configurations that determine how all brokers communicate with each other and with clients. Bootstrapping a cluster configures the [listeners](https://docs.redpanda.com/streaming/current/reference/glossary/#listener), [seed servers](https://docs.redpanda.com/streaming/current/reference/glossary/#seed-server), and [advertised listeners](https://docs.redpanda.com/streaming/current/reference/glossary/#advertised-listener), which ensure proper network connectivity and accessibility.

Starting in version 23.3.8, `rpk` enhances the bootstrapping process with additional flags for configuring advertised listener addresses directly.

Use the [`rpk redpanda config bootstrap`](https://docs.redpanda.com/streaming/current/reference/rpk/rpk-redpanda/rpk-redpanda-config-bootstrap/) command to bootstrap Redpanda:

```bash
sudo rpk redpanda config bootstrap --self <listener-address> --advertised-kafka <advertised-kafka-address> --ips <seed-server1-ip>,<seed-server2-ip>,<seed-server3-ip> && \
sudo rpk redpanda config set redpanda.empty_seed_starts_cluster false
```

Replace the following placeholders:

-   `<listener-address>`: The `--self` flag tells Redpanda the interfaces to bind to for the Kafka API, the RPC API, and the Admin API. These addresses determine on which network interface and port Redpanda listens for incoming connections.

    -   Set the listener address to `0.0.0.0` to listen on all network interfaces available on the machine.

    -   Set the listener address to a specific IP address to bind the listener to that address, restricting connections to that interface.


-   `<advertised-kafka-address>`: The `--advertised-kafka` flag sets a different advertised Kafka address, which is useful for scenarios where the accessible address differs from the bind address.

    > ❗ **IMPORTANT**
    >
    > Redpanda does not allow advertised addresses set to `0.0.0.0`. If you set any advertised addresses to `0.0.0.0`, Redpanda will output startup validation errors.

-   `<seed-server-ips>`: The `--ips` flag lists all the seed servers in the cluster, including the one being started.

    > 📝 **NOTE**
    >
    > The `--ips` flag must be set _identically_ (with nodes listed in identical order) on each node.


Bootstrapping Redpanda updates your `/etc/redpanda/redpanda.yaml` configuration file:

`/etc/redpanda/redpanda.yaml`

```yaml
redpanda:
    data_directory: /var/lib/redpanda/data
    empty_seed_starts_cluster: false
    seed_servers:
        - host:
            address: <seed-server1-ip>
            port: 33145
        - host:
            address: <seed-server2-ip>
            port: 33145
        - host:
            address: <seed-server3-ip>
            port: 33145
    rpc_server:
        address: <listener-address>
        port: 33145
    kafka_api:
        - address: <listener-address>
          port: 9092
    admin:
        - address: <listener-address>
          port: 9644
    advertised_rpc_api:
        address: <listener-address>
        port: 33145
    advertised_kafka_api:
        - address: <advertised-kafka-address>
          port: 9092
```

### [](#recommendations)Recommendations

-   Redpanda Data strongly recommends at least three seed servers when forming a cluster. A larger number of seed servers increases the robustness of consensus and minimizes any chance that new clusters get spuriously formed after brokers are lost or restarted without any data.

-   It’s important to have one or more seed servers in each fault domain (for example, in each rack or cloud AZ). A higher number provides a stronger guarantee that clusters don’t fracture unintentionally.

-   It’s possible to change the seed servers for a short period of time after a cluster has been created. For example, you may want to designate one additional broker as a seed server to increase availability. To do this without cluster downtime, add the new broker to the [`seed_servers`](https://docs.redpanda.com/streaming/current/reference/properties/broker-properties/) property and restart Redpanda to apply the change on a broker-by-broker basis.


### [](#listeners-for-mixed-environments)Listeners for mixed environments

For clusters serving both internal and external clients, configure multiple listeners for the Kafka API to separate internal from external traffic.

For more details, see [Configure Listeners](https://docs.redpanda.com/streaming/current/manage/security/listener-configuration/).

## [](#start-redpanda)Start Redpanda

To start Redpanda:

```bash
sudo systemctl start redpanda-tuner redpanda
```

When a Redpanda cluster starts, it instantiates a controller Raft group with all the seed servers specified in the `--ips` flag. After all seed servers complete their startup procedure and become accessible, the cluster is then available. After that, non-seed servers start up and are added to the cluster.

## [](#start-redpanda-console)Start Redpanda Console

For instructions on starting and managing Redpanda Console, see [Deploy Redpanda Console on Linux](https://docs.redpanda.com/streaming/current/deploy/console/linux/deploy/).

## [](#verify-the-installation)Verify the installation

To verify that the Redpanda cluster is up and running, use `rpk` to get information about the cluster:

```bash
rpk cluster info
```

You should see a list of advertised addresses.

To create a topic:

```bash
rpk topic create <topic-name>
```

If topics were initially created in a test environment with a replication factor of `1`, use `rpk topic alter-config` to change the topic replication factor:

```bash
rpk topic alter-config <topic-names> --set replication.factor=3
```

## [](#perform-a-self-test)Perform a self test

To understand the performance capabilities of your Redpanda cluster, Redpanda offers built-in self-test features that evaluate the performance of both disk and network operations.

For more information, see [Disk and network self-test benchmarks](https://docs.redpanda.com/streaming/current/troubleshoot/cluster-diagnostics/diagnose-issues/#self-test).

When using the storage bandwidth test, ensure that your results show at least 16,000 IOPS (Input/Output Operations Per Second) for production environments. If your test results are below this threshold, your storage may not be suitable for production Redpanda workloads.

## [](#next-steps)Next steps

-   If clients connect from a different subnet, see [Configure Listeners](https://docs.redpanda.com/streaming/current/manage/security/listener-configuration/).

-   Observability is essential. See [Monitor Redpanda](https://docs.redpanda.com/streaming/current/manage/monitoring/).


## [](#suggested-reading)Suggested reading

-   [Configure Cluster Properties](https://docs.redpanda.com/streaming/current/manage/cluster-maintenance/cluster-property-configuration/)

-   [Redpanda Console Configuration](https://docs.redpanda.com/streaming/current/console/config/configure-console/)

-   [Work with Schema Registry](https://docs.redpanda.com/streaming/current/manage/schema-reg/)

-   [Work with HTTP Proxy](https://docs.redpanda.com/streaming/current/develop/http-proxy/)


## Suggested labs

-   [Disaster Recovery with Envoy and Shadowing](https://docs.redpanda.com/labs/docker-compose/envoy-shadowing/)
-   [Redpanda Iceberg Docker Compose Example](https://docs.redpanda.com/labs/docker-compose/iceberg/)
-   [Stream Jira Issues to Redpanda for Real-Time Metrics](https://docs.redpanda.com/labs/docker-compose/jira-metrics-pipeline/)
-   [Migrate Data with Redpanda Migrator](https://docs.redpanda.com/labs/docker-compose/redpanda-migrator/)
-   [Start a Single Redpanda Broker with Redpanda Console in Docker](https://docs.redpanda.com/labs/docker-compose/single-broker/)
-   [Start a Cluster of Redpanda Brokers with Redpanda Console in Docker](https://docs.redpanda.com/labs/docker-compose/three-brokers/)
-   [Set Up GitOps for the Redpanda Helm Chart](https://docs.redpanda.com/labs/kubernetes/gitops-helm/)
-   [Iceberg Streaming on Kubernetes with Redpanda, MinIO, and Spark](https://docs.redpanda.com/labs/kubernetes/iceberg/)
-   [Set Up MySQL CDC with Debezium and Redpanda](https://docs.redpanda.com/labs/docker-compose/cdc-mysql-json/)
-   [Set Up Postgres CDC with Debezium and Redpanda](https://docs.redpanda.com/labs/docker-compose/cdc-postgres-json/)

See more

[Search all labs](https://docs.redpanda.com/labs)