# Error when starting Elasticsearch single node

**URL:** <https://discuss.elastic.co/t/error-when-starting-elasticsearch-single-node/328207>\
**Category:** Elasticsearch\
**Tags:** docker\
**Created:** [March 22, 2023, 5:07am UTC](https://discuss.elastic.co/t/error-when-starting-elasticsearch-single-node/328207 "2023-03-22T05:07:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![abctha1234](https://avatars.discourse-cdn.com/v4/letter/a/b9bd4f/32.png) [@abctha1234](https://discuss.elastic.co/u/abctha1234)\
**Post date:** [March 22, 2023, 5:07am UTC](https://discuss.elastic.co/t/error-when-starting-elasticsearch-single-node/328207/1 "2023-03-22T05:07:07Z")

</div>

My docker-compose.yaml

```auto
  elasticsearch:
    container_name: elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
    volumes:
      - elasticsearch_data:/usr/share/elasticsearch/data
      - certs:/usr/share/elasticsearch/config/certs
    environment:
      - discovery.type=single-node
      - ELASTIC_PASSWORD=123456
    ports:
      - 9200:9200
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "curl -s --cacert config/certs/ca/ca.crt http://localhost:9200 | grep -q 'missing authentication credentials'",
        ]
      interval: 10s
      timeout: 10s
      retries: 5

volumes:
  certs:
  elasticsearch_data:

```

Error when running docker compose up

```auto
elasticsearch | Created elasticsearch keystore in /usr/share/elasticsearch/config/elasticsearch.keystore
elasticsearch | Exception in thread "main" java.io.IOException: Unable to delete directory /usr/share/elasticsearch/config/certs.
elasticsearch | at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1581)
elasticsearch | at org.apache.commons.io.FileUtils.moveDirectory(FileUtils.java:2916)
elasticsearch | at org.elasticsearch.xpack.security.cli.AutoConfigureNode.moveDirectory(AutoConfigureNode.java:952)
elasticsearch | at org.elasticsearch.xpack.security.cli.AutoConfigureNode.execute(AutoConfigureNode.java:616)
elasticsearch | at org.elasticsearch.server.cli.ServerCli.autoConfigureSecurity(ServerCli.java:160)
elasticsearch | at org.elasticsearch.server.cli.ServerCli.execute(ServerCli.java:81)
elasticsearch | at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:54)
elasticsearch | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:85)
elasticsearch | at org.elasticsearch.cli.Command.main(Command.java:50)
elasticsearch | at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:64)
elasticsearch | Suppressed: java.lang.UnsupportedOperationException: Unsupported copy option
elasticsearch | at java.base/sun.nio.fs.UnixCopyFile$Flags.fromMoveOptions(UnixCopyFile.java:115)
elasticsearch | at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:407)
elasticsearch | at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:266)
elasticsearch | at java.base/java.nio.file.Files.move(Files.java:1430)
elasticsearch | at org.elasticsearch.xpack.security.cli.AutoConfigureNode.execute(AutoConfigureNode.java:634)
elasticsearch | ... 6 more
elasticsearch | Suppressed: org.apache.commons.io.FileExistsException: Destination '/usr/share/elasticsearch/config/certs' already exists
elasticsearch | at org.apache.commons.io.FileUtils.moveDirectory(FileUtils.java:2908)
elasticsearch | at org.elasticsearch.xpack.security.cli.AutoConfigureNode.moveDirectory(AutoConfigureNode.java:952)
elasticsearch | at org.elasticsearch.xpack.security.cli.AutoConfigureNode.execute(AutoConfigureNode.java:659)
elasticsearch | ... 6 more
elasticsearch exited with code 1

```

I removed the volume and ran docker compose up again but it didn't work.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 22, 2023, 9:57am UTC](https://discuss.elastic.co/t/error-when-starting-elasticsearch-single-node/328207/2 "2023-03-22T09:57:35Z")

</div>

Welcome!

Are you doing that because you want to use your own certificates?

> [@abctha1234](#):
>
> ` - certs:/usr/share/elasticsearch/config/certs`

The [Elasticsearch Docker doc](https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html) says that once the certificates are generated by Elasticsearch, you can retrieve them:

```auto
docker cp elasticsearch:/usr/share/elasticsearch/config/certs/http_ca.crt .

```

I believe that if you want to provide your own certificate, you need to put them in another dir and declare the path to the certificate using `ssl.certificate` (see [Security settings in Elasticsearch | Elasticsearch Guide [8.11] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html))?

This guide is super instructive I think: [Set up basic security for the Elastic Stack plus secured HTTPS traffic | Elasticsearch Guide [8.6] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/8.6/security-basic-setup-https.html)

---

<div class="post-metadata">

**Author:** ![abctha1234](https://avatars.discourse-cdn.com/v4/letter/a/b9bd4f/32.png) [@abctha1234](https://discuss.elastic.co/u/abctha1234)\
**Post date:** [March 22, 2023, 5:17pm UTC](https://discuss.elastic.co/t/error-when-starting-elasticsearch-single-node/328207/3 "2023-03-22T17:17:20Z")

</div>

I used this line of code because I thought I should persist the certificates. But now I realize that I don't have to persist it so I removed this line of code and it works!.

> [@abctha1234](#):
>
> - certs:/usr/share/elasticsearch/config/certs

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 19, 2023, 5:18pm UTC](https://discuss.elastic.co/t/error-when-starting-elasticsearch-single-node/328207/4 "2023-04-19T17:18:18Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
