Прод-стек: docker compose
Рекомендуемый способ развёртывания single-node продакшена. Одной командой поднимаются:
| Сервис | Порт (host) | Назначение |
|---|---|---|
roxa | 9092 / 50051 / 9644 | Kafka wire / gRPC / Prometheus /metrics |
roxa-admin | 8080 | веб-консоль и мониторинг (вход из admin.toml) |
minio | 9001 | S3-хранилище сегментов (S3-порт 9000 — только внутри сети) |
prometheus | 9090 | сбор метрик |
grafana | 3000 | дашборд «Roxa — Overview» (провижинится автоматически) |
Требования
- Linux-сервер: 2+ vCPU, 4+ ГБ RAM для рабочих нагрузок (для демо — меньше).
- Docker + Docker Compose v2.
- Открытые наружу порты:
9092(Kafka),50051(gRPC),8080(веб-консоль). Порт S3 (MinIO 9000) наружу не публикуется.
Запуск
Каталог deploy/onprem идёт с поставкой (запросите через поддержку, если у вас его нет) — внутри docker-compose.yml, serve.toml, admin.toml, .env.example.
bash
cd deploy/onprem
cp .env.example .env # секреты: пароли MinIO/Grafana, лицензия (если есть)
# отредактируйте serve.toml и admin.toml: смените пароли (CHANGE_ME...), kafka_advertised_addr
docker compose up -d
docker compose ps # все сервисы healthy/running
docker compose logs -f roxaСекреты в трёх местах должны совпадать
- пароль MinIO:
.env(MINIO_ROOT_PASSWORD) =serve.toml([storage.s3].secret_key); - пароль data-plane:
serve.toml([[auth.users]].password) =admin.toml(broker_password).
Проверка после запуска
bash
# roxactl (gRPC, с аутентификацией):
roxactl --endpoint http://SERVER:50051 --user app --password <pass> topic create demo --partitions 3
roxactl --endpoint http://SERVER:50051 --user app --password <pass> produce demo hello world
roxactl --endpoint http://SERVER:50051 --user app --password <pass> consume demo
# любой Kafka-клиент (пример kcat, SASL/PLAIN):
kcat -b SERVER:9092 -X security.protocol=SASL_PLAINTEXT -X sasl.mechanism=PLAIN \
-X sasl.username=app -X sasl.password=<pass> -LДашборд: http://SERVER:3000 → «Roxa — Overview» (throughput, латентность produce/fetch, лаг записи в S3).
Что дальше
- TLS и безопасность — обязательно перед выходом наружу.
- Бэкап и восстановление.
- Лицензия — Community работает без токена; Enterprise-фичи включает
ROXA_LICENSE.