A single broker Apache Kafka in KRaft mode (no ZooKeeper) on the official image, with a persistent volume. It is not published on the host and speaks plaintext, so reach it only from other services in this project at kafka:9092.
This page describes the Levelrail template for Apache Kafka (Infrastructure). It deploys the services below as one Docker Compose app on your own server. Project site: https://kafka.apache.org/documentation/.
Recommended memory: about 1024 MiB.
Services, ports and volumes
Environment variables
Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.
Security and requirements
Level: Standard.
What this template needs:
- Stores data in named volumes (
kafka): kafka_data.
What Levelrail adds around it:
- Automatic HTTPS and an ingress shield in front of every domain.
- Named volumes can be backed up and restored.
- Deploys are gated on the health check before traffic switches.
- One-step rollback to the previous revision.
- Exposure report shows what is reachable from outside.
- Host firewall rules managed for published ports.
Deploy Apache Kafka with Levelrail
In the dashboard, open Apps, choose New app, then Browse templates, and select Apache Kafka. Review the Compose body and deploy.
With the CLI:
See the service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.
More Infrastructure templates
All templates are listed in the self-host gallery. Last modified on November 8, 2026