elasticsearch/docs/reference/elasticsearch-plugins/manage-plugins-using-config...

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

39 lines
1.8 KiB
Markdown
Raw Normal View History

---
mapped_pages:
- https://www.elastic.co/guide/en/elasticsearch/plugins/current/manage-plugins-using-configuration-file.html
---
# 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
```