- Note: To reduce complexity and cost, I ran the container in the public subnet. (It is still best practice to keep container in the private subnet).
.
├── detect-model
| ├── app
| | ├── __init__.py
| | ├── app.py
| | └── yolov8n-pose.py # Model pose detect image
| ├── Dockerfile
| └── requirements.txt
├── environment
| ├── development # Infrastructure Dev environment
| | ├── main.tf
| | ├── variables.tf
| | ├── terraform.tfvars
| | └── ...
| ├── production # Infrastructure Production environment
| | ├── main.tf
| | ├── variables.tf
| | ├── terraform.tfvars
| | └── ...
├── module
| ├── acm
| | ├── main.tf
| | ├── variables.tf
| | └── outputs.tf
| ├── alb
| ├── ecr
| ├── ecs
| ├── networking
| └── route53
├── .gitignore
├── LICENSE.md
└── README.md
- Clone repository
git clone https://github.com/falco2202/provision-detect-model.git
- To add your
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
to Github secret, as well as your preferredREGION
in Github variables. - Run job in GitHub action
- Note: Application is tested for performance with ECS Fargate(task: 1 vCPU, 2GB Memory) and autoscaling (min: 2, max: 5)
-> The server died with the 15 users and 13 requests/second