The basic on-premises installation uses Apache Lucene for search functionality, storing search indexes on the local file system. This is sufficient for a single server installation, but Apache Lucene's search indexes are not designed for concurrent access from multiple processes. To run the Structurizr on-premises installation across multiple servers, for high availability, you'll need to use Elasticsearch instead. You can use a local Elasticsearch installation, or a service provided by a cloud provider. We recommend version 6.8.10 and above. Please note this requires the high-availability add-on.


Modify your structurizr.properties file to configure Elasticsearch integration as follows:

Property name Property value
structurizr.search elasticsearch
elasticsearch.protocol The protocol used to communicate with Elasticsearch: http (default) or https.
elasticsearch.host Your Elasticsearch hostname/IP address (default: localhost).
elasticsearch.port Your Elasticsearch port number (default: 9200).
elasticsearch.username The username used to connect to your Elasticsearch instance, if applicable.
elasticsearch.password The password used to connect to your Elasticsearch instance, if applicable.