logo
icon

Elasticsearch Single Node with Kibana (v9)

Production-ready single-node Elasticsearch with Kibana, using official images. Password and SSL enabled by default.

template cover
Deployed27 times
PublisherzeaburZeabur
Created2025-12-27
Tags
SearchAnalyticsElasticsearchKibanaSingle Node

Elasticsearch Single Node with Kibana

This template deploys a single-node Elasticsearch + Kibana stack using official Elastic images. Password authentication is enabled out of the box, and HTTPS is provided by Zeabur's edge for the public domains.

Features

  • Single-node Elasticsearch with built-in security (username + password)
  • Kibana connects to Elasticsearch via a service-account token over in-cluster HTTP
  • Auto-generated password for the elastic user
  • HTTPS access via Zeabur edge for both Elasticsearch and Kibana domains
  • Suitable for development and small single-node deployments

Note: Inter-service traffic between Kibana and Elasticsearch is plain HTTP inside the project network. The cluster is single-node, so transport-layer TLS is disabled. If you need full end-to-end TLS or a multi-node cluster, use a different template.

Usage

ELK does not provide a one-click deployment. Follow these steps to finish setting up Kibana:

  1. Deploy the stack.
  2. Open the Terminal on the elasticsearch service and create a service-account token for Kibana:
    $ ./bin/elasticsearch-service-tokens create elastic/kibana kibana
    SERVICE_TOKEN elastic/kibana/kibana = <your-service-token>
    
  3. Set the printed token as the ELASTICSEARCH_SERVICEACCOUNTTOKEN environment variable on the kibana service.
  4. Restart the kibana service.
  5. Open the Terminal on the kibana service and generate the encryption keys:
    $ bin/kibana-encryption-keys generate
    
    The output prints three values that should be set as environment variables on the kibana service:
    • XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY — encrypts stored objects (dashboards, visualizations)
    • XPACK_REPORTING_ENCRYPTIONKEY — encrypts saved reports
    • XPACK_SECURITY_ENCRYPTIONKEY — encrypts session information
  6. Set those three environment variables on the kibana service.
  7. Restart the kibana service.
  8. Access Elasticsearch at https://<your-elasticsearch-domain> (Zeabur edge terminates TLS — no port suffix needed).
  9. Access Kibana at https://<your-kibana-domain> — the web-based visualization interface.

Default Credentials

Check the instructions section of the Kibana service to see the auto-generated credentials.

Log in to Kibana with the elastic username and the auto-generated password to explore, visualize, and manage your Elasticsearch data.

Official Docs