Manage plugins using a configuration fileedit

Docker only

This feature is only available for official 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 called elasticsearch-plugins.yml, and must be placed in the Elasticsearch configuration directory, alongside elasticsearch.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 official analysis-icu and repository-azure plugins, and one unofficial plugin. Every plugin must provide an id. Unofficial plugins must also provide a location. 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 the standard 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.zip
proxy: proxy.example.com:8443