Are you an LLM? You can read better optimized documentation at /docs/services/elasticsearch.md for this page in Markdown format
Elasticsearch
What is Elasticsearch?
Elasticsearch is an open-source search and analytics engine designed for fast, scalable data retrieval—ideal for handling large volumes of both structured and unstructured data.
How to Deploy Elasticsearch on Coolify
There are two ways to deploy Elasticsearch on Coolify:
- Elasticsearch as a standalone service (no GUI)
- Elasticsearch with Kibana (GUI)
Elasticsearch as a Standalone Service
- Create a new resource on Coolify and select Elasticsearch with Kibana from the service list.
- Click the Deploy button to pull the Docker images and start the containers.
- Once the
Elasticsearchservice shows as healthy, you can access it via its assigned domain.⚠️ Note: This version does not include a GUI—you’ll need to interact with it via CLI tools or APIs.
Deploy Elasticsearch with Kibana
- Create a new resource on Coolify and select Elasticsearch with Kibana from the service list.
- Click the Deploy button to pull the Docker images and start the containers.
- Once the
Elasticsearchservice is running and theKibana Token Generatorshows an exited status:- Open the logs of the
Kibana Token Generatorservice. - Copy the Service Token from the logs.
- Paste the token into the
ELASTICSEARCH_SERVICEACCOUNTTOKENenvironment variable. - Restart the service (click the Restart button).
- Open the logs of the
- After both
ElasticsearchandKibanaservices are running healthy, visit the domain assigned to the service.- You’ll be presented with the Elastic login page.
- Username:
elastic
Password: value of theSERVICE_PASSWORD_ELASTICSEARCHenvironment variable.
If any of the above steps are unclear, you can refer to this Pull Request, which includes a video walkthrough of the entire deployment process.
Notes for Elasticsearch with Kibana
- It can take over 2 minutes for all services to fully start (depending on your server’s performance).
- The JVM heap size is set to 512MB by default to prevent Elasticsearch from exhausting server memory.
To increase this value, modify the environment variable:
ES_JAVA_OPTS=-Xms512m -Xmx512min the Docker Compose file. - The
Kibana Token Generatorservice is designed to run once and then exit. This is expected behavior and does not impact the health of the Elastic or Kibana services. - Clustering is disabled by default via the
discovery.type=single-nodeenvironment variable.Update this setting if clustering is required.
