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

# Kafka Setup Guide

<Warning>
  Kafka as a destination (including the Confluent and Redpanda variants) is deprecated and no longer actively maintained. It remains fully functional and no code is currently being removed. For new mirrors, we recommend ClickHouse, ClickHouse Cloud, or Postgres as the destination.
</Warning>

If looking to try out without an already setup Kafka endpoint, [see Redpanda quickstart,](https://docs.redpanda.com/current/get-started/quick-start) by default no authentication is necessary.

To get the above redpanda container to work with PeerDB on OSS, you can first add it to the PeerDB containers' network:

```bash theme={null}
# container id of redpanda-0
docker network connect peerdb_network $(docker container ls -qf "name=redpanda-0")

# container id of redpanda-console
docker network connect peerdb_network $(docker container ls -qf "name=redpanda-console")
```

And then in UI you can create the Kafka peer like so:

<img src="https://mintcdn.com/peerdb/wtgPI5cQwjI2FO0m/images/setup/redpeer.png?fit=max&auto=format&n=wtgPI5cQwjI2FO0m&q=85&s=74b84f612d943d1ef1ea469d794f4875" alt="create kafka peer ui" width="1730" height="1098" data-path="images/setup/redpeer.png" />

PeerDB only supports plaintext and SASL authentication. If username isn't supplied then PeerDB will attempt to connect without authentication.

Multiple servers can be specified as a comma separated list.

Partitioner can be usually be ignored; it maps to partitioning strategies in [franz-go.](https://pkg.go.dev/github.com/twmb/franz-go/pkg/kgo#Partitioner) To set partitioning keys you'll need to specify `Script` when creating mirror, see [Lua reference](https://docs.peerdb.io/lua/reference) for details.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.