elasticsearch/docs/reference/elasticsearch-plugins/manage-plugins-using-configuration-file.md
Charlotte Hoblik 9e754ec8f6
[DOCS] Plugin management reference cleanup (#124578)
* add content to plugin management

* add content to Plugin Management

* Update docs/reference/elasticsearch-plugins/plugin-management.md

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>

* fix applies-to tag

* add ech to docset.yml

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
2025-03-12 17:01:10 +01:00

1.8 KiB
Raw Blame History

mapped_pages applies_to
https://www.elastic.co/guide/en/elasticsearch/plugins/current/manage-plugins-using-configuration-file.html
deployment
self
ga

Manage plugins using a configuration file [manage-plugins-using-configuration-file]

::::{admonition} Docker only :class: important

This feature is only available for official {{es}} Docker images. Other {{es}} distributions will not start with a plugin configuration file.

::::

If you run {{es}} using Docker, you can manage plugins using a declarative configuration file. When {{es}} starts up, it will compare the plugins in the file with those that are currently installed, and add or remove plugins as required. {{es}} will also upgrade official plugins when you upgrade {{es}} 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 plugins name must match the ID in the configuration file.

While {{es}} 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