{"id":13682767,"url":"https://github.com/aranair/docker-elasticsearch-ecs","last_synced_at":"2026-01-23T17:44:18.207Z","repository":{"id":152451197,"uuid":"75943927","full_name":"aranair/docker-elasticsearch-ecs","owner":"aranair","description":"Elasticsearch 2.3.5 / 5.2.2 docker container setup for Amazon ECS","archived":false,"fork":false,"pushed_at":"2017-08-04T08:56:53.000Z","size":9,"stargazers_count":7,"open_issues_count":1,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-02T13:34:30.773Z","etag":null,"topics":["docker","docker-compose","docker-elasticsearch","ecs","elasticsearch"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aranair.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-08T14:16:30.000Z","updated_at":"2020-05-07T18:41:09.000Z","dependencies_parsed_at":"2024-01-14T15:23:53.209Z","dependency_job_id":"651d681e-6dd1-4549-bc7f-28b825b6ccd1","html_url":"https://github.com/aranair/docker-elasticsearch-ecs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aranair%2Fdocker-elasticsearch-ecs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aranair%2Fdocker-elasticsearch-ecs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aranair%2Fdocker-elasticsearch-ecs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aranair%2Fdocker-elasticsearch-ecs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aranair","download_url":"https://codeload.github.com/aranair/docker-elasticsearch-ecs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224206211,"owners_count":17273408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-elasticsearch","ecs","elasticsearch"],"created_at":"2024-08-02T13:01:52.866Z","updated_at":"2026-01-23T17:44:18.098Z","avatar_url":"https://github.com/aranair.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Docker Elasticsearch in ECS\n\nAn elasticsearch docker-compose containers setup that is meant to be hosted on ECS.\n\n## 2.3.X\n\n- Master branch\n- http://aranair.github.io/posts/2016/12/05/aws-ecs-elasticsearch-cluster/\n\n## 5.2.2\n\n- Use 5.2.2 branch for ElasticSearch 5.2.2\n- https://aranair.github.io/posts/2017/04/03/getting-elasticsearch-5.2.2-to-work-on-amazon-ecs/\n\n## Run it locally\n\n```\ndocker-compose up\n```\n\nYup that's it.\n\n## To push the docker images to a repository\n\nUpdate `push-tag.sample` in the bin folder with your own docker registry repository.\n\nThen `bin/push-tag`\n\n## Run it on ECS\n\nMost of the legwork has already been done in the configurations so it should be fairly easy.\n\nThis [blog post][blog post] that I wrote runs through some of the details inside the files and\nconfigurations that you should have in the ECS and task definitions.\n\nAlso feel free to refer to [ecs-task-definition.sample][task definition sample] as a start to guide you.\n\n```\n{\n    \"networkMode\": \"bridge\",\n    \"taskRoleArn\": null,\n    \"containerDefinitions\": [\n        {\n            \"volumesFrom\": [],\n            \"memory\": 512,\n            \"extraHosts\": null,\n            \"dnsServers\": null,\n            \"disableNetworking\": null,\n            \"dnsSearchDomains\": null,\n            \"portMappings\": [\n                {\n                    \"hostPort\": 9200,\n                    \"containerPort\": 9200,\n                    \"protocol\": \"tcp\"\n                },\n                {\n                    \"hostPort\": 9300,\n                    \"containerPort\": 9300,\n                    \"protocol\": \"tcp\"\n                }\n            ],\n            \"hostname\": null,\n            \"essential\": true,\n            \"entryPoint\": null,\n            \"mountPoints\": [\n                {\n                    \"containerPath\": \"/usr/share/elasticsearch/data\",\n                    \"sourceVolume\": \"elasticsearchdata\",\n                    \"readOnly\": null\n                }\n            ],\n            \"name\": \"elasticsearch\",\n            \"ulimits\": null,\n            \"dockerSecurityOptions\": null,\n            \"environment\": [\n                {\n                    \"name\": \"ES_HEAP_SIZE\",\n                    \"value\": \"256m\"\n                }\n            ],\n            \"links\": null,\n            \"workingDirectory\": null,\n            \"readonlyRootFilesystem\": null,\n            \"image\": \"YOUR_DOCKER_REGISTRY_URL:latest\",\n            \"command\": null,\n            \"user\": null,\n            \"dockerLabels\": null,\n            \"logConfiguration\": null,\n            \"cpu\": 0,\n            \"privileged\": null,\n            \"memoryReservation\": null\n        }\n    ],\n    \"volumes\": [\n        {\n            \"host\": {\n                \"sourcePath\": \"/usr/share/elasticsearch/data\"\n            },\n            \"name\": \"elasticsearchdata\"\n        }\n    ],\n    \"family\": \"elasticsearch\"\n}\n```\n\n## Notable configurations\n\n**elasticsearch.yml**: `discovery.ec2.groups` should be set to the security group that was assigned when you created the ECS cluster. Do not remove `network.host` or `network.publish_host`\n\n\n```\nscript.inline: true\nbootstrap.mlockall: true\nnetwork.host: 0.0.0.0\nplugin.mandatory: cloud-aws\nnetwork.publish_host: _ec2:privateIp_\ndiscovery.type: ec2\ndiscovery.ec2.groups: sg-docker-es-1\ndiscovery.zen.ping.multicast.enabled: false\n```\n\n**logging.yml**: Currently the logging level is DEBUG which generates all kinds of logs, you may want toswitch it to `INFO` after getting initial set up done.\n\n```\nes.logger.level: DEBUG\n```\n\n## LICENSE\n\nMIT\n\n[blog post]: http://aranair.github.io/posts/2016/12/05/aws-ecs-elasticsearch-cluster/\n[task definition sample]: https://github.com/aranair/docker-elasticsearch-ecs/blob/master/ecs-task-definition.sample\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faranair%2Fdocker-elasticsearch-ecs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faranair%2Fdocker-elasticsearch-ecs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faranair%2Fdocker-elasticsearch-ecs/lists"}