# Enterprise Search - Docker Compose

**URL:** <https://discuss.elastic.co/t/enterprise-search-docker-compose/239783>\
**Category:** Elastic Search\
**Tags:** docker\
**Created:** [July 3, 2020, 11:03am UTC](https://discuss.elastic.co/t/enterprise-search-docker-compose/239783 "2020-07-03T11:03:41Z")\
**Posts on this page:** 4\
**Page:** 1

<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:** [July 3, 2020, 11:03am UTC](https://discuss.elastic.co/t/enterprise-search-docker-compose/239783/1 "2020-07-03T11:03:41Z")

</div>

Here is a simple way to start Enterprise Search (App Search and Workplace Search) with `docker-compose`.

Write the following in your `docker-compose.yml` file:

```auto
---
version: '3'
services:

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:$ELASTIC_VERSION
    environment:
      - bootstrap.memory_lock=true
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms2g -Xmx2g"
      - cluster.routing.allocation.disk.threshold_enabled=false
      - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
      - xpack.security.enabled=true
      - xpack.security.authc.api_key.enabled=true
      - xpack.license.self_generated.type=trial
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks: ['stack']

  enterprisesearch:
    image: docker.elastic.co/enterprise-search/enterprise-search:$ELASTIC_VERSION
    environment:
    - "ent_search.auth.source=standard"
    - "elasticsearch.username=elastic"
    - "elasticsearch.password=$ELASTIC_PASSWORD"
    - "elasticsearch.host=http://elasticsearch:9200"
    - "allow_es_settings_modification=true"
    - "secret_management.encryption_keys=[XYZ]"
    - "ENT_SEARCH_DEFAULT_PASSWORD=$ELASTIC_PASSWORD"
    ports: ['3002:3002']
    networks: ['stack']
    links: ['elasticsearch']
    depends_on: ['elasticsearch']

networks:
  stack: {}

```

`.env` file is:

```auto
ELASTIC_VERSION=7.8.0
ELASTIC_PASSWORD=changeme

```

Once started, you can open [http://localhost:3002](http://localhost:3002/) and connect with `enterprise_search` / `changeme` account.

Hope this is helpful for others.

---

<div class="post-metadata">

**Author:** ![anborg](https://avatars.discourse-cdn.com/v4/letter/a/90ced4/32.png) [@anborg](https://discuss.elastic.co/u/anborg)\
**Post date:** [July 6, 2020, 3:17am UTC](https://discuss.elastic.co/t/enterprise-search-docker-compose/239783/2 "2020-07-06T03:17:17Z")

</div>

Thanks for the docker compose file. In my hosts file I have an entry for  
127.0.0.1 [dev.local.org](http://dev.local.org) - no localhost , cant change it.

When I access the url at [http://dev.local.org:3200](http://dev.local.org:3200), the login is not successful. Is that a limitation?

Thank you

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/8/6/866ac1134ce49b8f580009a66161cbdac65b3f3c.png)

---

<div class="post-metadata">

**Author:** ![qhoxie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/qhoxie/32/47252_2.png) [@qhoxie](https://discuss.elastic.co/u/qhoxie)\
**Post date:** [July 7, 2020, 11:56pm UTC](https://discuss.elastic.co/t/enterprise-search-docker-compose/239783/3 "2020-07-07T23:56:25Z")

</div>

I suggest looking at the external\_url setting for Enterprise Search. If it isn't set to [dev.local.org](http://dev.local.org) that may be causing the issue.

---

<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:** [November 4, 2022, 8:04am UTC](https://discuss.elastic.co/t/enterprise-search-docker-compose/239783/4 "2022-11-04T08:04:57Z")

</div>


