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

41 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/manage-plugins-using-configuration-file.html
applies_to:
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](https://www.docker.elastic.co/). 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:
```yaml
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](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.md) when downloading plugins, you can also configure an HTTP proxy to use explicitly in the configuration file. For example:
```yaml
plugins:
- id: custom-mapper
location: https://example.com/archive/custom-mapper-1.0.0.zip
proxy: proxy.example.com:8443
```