﻿---
title: Custom URL or file system
description: Install an Elasticsearch plugin from a custom URL or local ZIP when it is not available by name.
url: https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/7959/deploy-manage/plugins-and-bundles/self-managed/custom-url
products:
  - Elasticsearch
applies_to:
  - Self-managed Elastic deployments: Generally available
---

# Custom URL or file system
A plugin can also be downloaded from a custom location by specifying a URL:
```sh
sudo bin/elasticsearch-plugin install [url] 
```

<definitions>
  <definition term="Unix">
    To install a plugin from your local file system at `/path/to/plugin.zip`:
    ```sh
    sudo bin/elasticsearch-plugin install file:///path/to/plugin.zip
    ```
  </definition>
  <definition term="Windows">
    To install a plugin from your local file system at `C:\path\to\plugin.zip`:
    ```sh
    bin\elasticsearch-plugin install file:///C:/path/to/plugin.zip
    ```
    <note>
      Any path that contains spaces must be wrapped in quotes.
    </note>
    <note>
      If you install a plugin from the filesystem, the plugin distribution must not be contained in the `plugins` directory for the node that you are installing to, or installation will fail.
    </note>
  </definition>
  <definition term="HTTP">
    To install a plugin from an HTTP URL:
    ```sh
    sudo bin/elasticsearch-plugin install <EXAMPLE_PLUGIN_HOST_URL>/plugin.zip
    ```
    The plugin script refuses to talk to an HTTPS URL with an untrusted certificate. To use a self-signed HTTPS cert, add the CA cert to a local Java truststore and pass the location to the script:
    ```sh
    sudo CLI_JAVA_OPTS="-Djavax.net.ssl.trustStore=/path/to/trustStore.jks" bin/elasticsearch-plugin install <MY_HOST_URL>/plugin.zip
    ```
  </definition>
</definitions>