{"id":13827706,"url":"https://github.com/monicagangwar/aws_docker_swarm","last_synced_at":"2025-12-25T04:23:49.375Z","repository":{"id":88547454,"uuid":"91956918","full_name":"monicagangwar/aws_docker_swarm","owner":"monicagangwar","description":"setup to bootstrap docker swarm cluster and a controller on AWS using terraform","archived":false,"fork":false,"pushed_at":"2017-08-30T05:22:27.000Z","size":11,"stargazers_count":24,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-05T09:16:40.031Z","etag":null,"topics":["aws","cluster","docker","docker-swarm","terraform"],"latest_commit_sha":null,"homepage":null,"language":"HCL","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/monicagangwar.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":"2017-05-21T12:54:09.000Z","updated_at":"2021-11-09T09:36:16.000Z","dependencies_parsed_at":"2024-01-15T16:47:29.400Z","dependency_job_id":null,"html_url":"https://github.com/monicagangwar/aws_docker_swarm","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/monicagangwar%2Faws_docker_swarm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monicagangwar%2Faws_docker_swarm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monicagangwar%2Faws_docker_swarm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monicagangwar%2Faws_docker_swarm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monicagangwar","download_url":"https://codeload.github.com/monicagangwar/aws_docker_swarm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225486412,"owners_count":17481893,"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":["aws","cluster","docker","docker-swarm","terraform"],"created_at":"2024-08-04T09:02:05.728Z","updated_at":"2025-12-25T04:23:44.339Z","avatar_url":"https://github.com/monicagangwar.png","language":"HCL","funding_links":[],"categories":["HCL"],"sub_categories":[],"readme":"# AWS DOCKER SWARM SETUP\n\nAWS Setup for launching Docker Swarm Cluster on 3 nodes (1 master, 2 workers)  \n[Quick Demo](https://vimeo.com/218763304)\n\n\n### Infrastructure\n![image](https://cloud.githubusercontent.com/assets/8946358/26339554/5ff32374-3fa6-11e7-8f27-0da44dfb70d3.png)\n\n### Dependencies\n- [Terraform](https://www.terraform.io/downloads.html)\n- [AWS CLI](https://aws.amazon.com/cli/)\n\n### Configuration\n- Create an IAM user and get `ACCESS KEY` \u0026 `SECRET ACCESS KEY` on [AWS CONSOLE](http://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)\n- Hit `aws configure` and add `ACCESS KEY` \u0026 `SECRET ACCESS KEY`\n- Change the region and availability zone in `variables.tf` file if you wish to launch the setup in another region. Currently it defaults to us-east-1\n\n### Usage\n- Run init script which will create a S3 bucket for storing terraform remote state. Change the bucket name in [setup](setup/aws/terraform_state_s3_bucket.tf)\n```\n./init_aws.sh\n```\n- Launch global resources which contains ssh key. Change key path in [ssh_key.tf](global/ssh_key.tf)\n```\ncd global\nterraform apply\n```\n- Lauch VPC. Change accordingly in [variables.tf](vpc/variables.tf)\n```\ncd vpc\nterraform apply\n```\n- Launch Nodes. Change accordingly in [variables.tf](nodes/variables.tf)\n```\ncd nodes\nterraform apply\n```\n\n### Output to Note\n- `manager_ip`  \n   * Its the IP of manager node which belongs to a swarm lanched on bootup of nodes.  \n   * Services launched via Controller UI can pe accessed on `manager_ip:port_specified`\n- `controller_ip`  \n   * Controller has [Portainer]() running on Port 9000 which is a UI over Docker Engine.  \n   * Hit `controller_ip:9000` and login  \n   * Enter `manager_ip:2375` when asked for Docker Endpoint on login\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonicagangwar%2Faws_docker_swarm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonicagangwar%2Faws_docker_swarm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonicagangwar%2Faws_docker_swarm/lists"}