Manage plugins using a configuration file
Self-Managed
This feature is only available forofficial Elasticsearch Docker images. Other Elasticsearch distributions will not start with a plugin configuration file.
If you run Elasticsearch using Docker, you can manage plugins using a declarative configuration file. When Elasticsearch starts up, it will compare the plugins in the file with those that are currently installed, and add or remove plugins as required. Elasticsearch will also upgrade official plugins when you upgrade Elasticsearch itself.
The file is calledelasticsearch-plugins.yml
, and must be placed in the Elasticsearch configuration directory, alongsideelasticsearch.yml
. Here is an example:
plugins: - id: analysis-icu - id: repository-azure - id: custom-mapper location: https://example.com/archive/custom-mapper-1.0.0.zip
This example installs the officialanalysis-icu
andrepository-azure
plugins, and one unofficial plugin. Every plugin must provide anid
. Unofficial plugins must also provide alocation
. This is typically a URL, but Maven coordinates are also supported. The downloaded plugin’s name must match the ID in the configuration file.
While Elasticsearch will respect thestandard Java proxy system properties when downloading plugins, you can also configure an HTTP proxy to use explicitly in the configuration file. For example:
plugins: - id: custom-mapper location: https://example.com/archive/custom-mapper-1.0.0.zipproxy: proxy.example.com:8443