{"id":34757538,"url":"https://github.com/udaykumar-dhokia/aws-localstack","last_synced_at":"2026-04-19T21:06:35.893Z","repository":{"id":325209469,"uuid":"1099951403","full_name":"udaykumar-dhokia/aws-localstack","owner":"udaykumar-dhokia","description":"A hands-on learning environment for understanding AWS Cloud services without needing a real AWS account. This repository simulates AWS using LocalStack, making it ideal for beginners, students, and developers who want to master AWS fundamentals locally.","archived":false,"fork":false,"pushed_at":"2025-11-20T04:44:50.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-20T06:16:10.678Z","etag":null,"topics":["aws","cloud","localstack"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/udaykumar-dhokia.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-19T16:40:52.000Z","updated_at":"2025-11-20T04:44:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/udaykumar-dhokia/aws-localstack","commit_stats":null,"previous_names":["udaykumar-dhokia/aws-localstack"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/udaykumar-dhokia/aws-localstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/udaykumar-dhokia%2Faws-localstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/udaykumar-dhokia%2Faws-localstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/udaykumar-dhokia%2Faws-localstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/udaykumar-dhokia%2Faws-localstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/udaykumar-dhokia","download_url":"https://codeload.github.com/udaykumar-dhokia/aws-localstack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/udaykumar-dhokia%2Faws-localstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32022579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","cloud","localstack"],"created_at":"2025-12-25T05:47:18.157Z","updated_at":"2026-04-19T21:06:35.881Z","avatar_url":"https://github.com/udaykumar-dhokia.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://cdn.prod.website-files.com/6539036f80ddc9e9a467134e/681e4d77a183f92570e14555_localstack-logo.svg\" height=\"90\" /\u003e\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cimg src=\"https://a0.awsstatic.com/libra-css/images/logos/aws_logo_smile_1200x630.png\" height=\"90\" /\u003e\n    \u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cimg src=\"https://images.ctfassets.net/o7xu9whrs0u9/4sYuVlC3grWV9xqiALyYr2/a52875856c016db3eb86c1d8adced886/Docker.logo2_.png\" height=\"90\" /\u003e\n\u003c/p\u003e\n\n# Self-host AWS with LocalStack\n\nA hands-on learning environment for understanding AWS Cloud services **without needing a real AWS account**. This repository simulates AWS using **LocalStack**, making it ideal for beginners, students, and developers who want to master AWS fundamentals locally.\n\n---\n\n![Image](https://drive.google.com/uc?export=view\u0026id=1AuGIs2k2VbQR7GFvVOI8tU8FzTXC-h5R)\n\n---\n\n## What This Repository Teaches You\n\nThis project is designed as a practical learning resource for AWS. By using LocalStack, you can learn how AWS works internally _without incurring costs_.\n\nYou will learn:\n\n- How IAM users/roles/policies work\n- How S3 buckets handle storage, uploads, versioning, and permissions\n- How AWS SDK clients interact with services\n- How to structure cloud-based applications\n- How to test AWS services locally before deploying to real AWS\n\nThis repo is like your **mini AWS sandbox**, totally offline.\n\n---\n\n## Project Structure\n\n```\n├── iam/                # IAM learning examples\n│   └── index.ts        # Create users, roles, policies\n├── s3/                 # S3 learning examples\n│   └── index.ts        # Bucket operations, uploads, list, delete\n├── awsClient.ts        # AWS SDK client configured for LocalStack\n├── docker-compose.yml  # LocalStack setup\n├── .env                # Environment variables\n├── volume/             # LocalStack persistent data\n├── package.json        # Node.js config\n└── README.md\n```\n\n---\n\n## Why This Repo Exists\n\nMost AWS tutorials jump directly into using real AWS accounts—and beginners get confused or scared to experiment due to cost.\n\nThis repository solves that by providing:\n\n- A **safe, free AWS practice environment**\n- Real AWS-like responses via LocalStack\n- Modular examples so you can learn one service at a time\n- Clean, beginner-friendly TypeScript code\n\nPerfect for:\n\n- Students\n- DevOps learners\n- Backend developers\n- Cloud beginners\n- Anyone preparing for AWS certifications\n\n---\n\n## Tech Used\n\n- **TypeScript + Node.js**\n- **AWS SDK v3**\n- **LocalStack with Docker**\n- **Docker Compose**\n\n---\n\n## Setup Instructions\n\n### Install dependencies\n\n```sh\nnpm install\n```\n\n### Configure environment\n\nCreate `.env` file:\n\n```\nAWS_ACCESS_KEY_ID=test\nAWS_SECRET_ACCESS_KEY=test\nAWS_REGION=us-east-1\nLOCALSTACK_ENDPOINT=http://localhost:4566\n```\n\n### Start LocalStack\n\n```sh\ndocker-compose up --build\n```\n\n---\n\n## Running Examples\n\n### TypeScript build\n\n```sh\nnpm run build\n```\n\n### Run learning modules\n\niam example:\n\n```sh\nnpx ts-node iam/index.ts\n```\n\n---\n\n## Learning Modules Provided\n\n### **IAM Module** (`/iam/index.ts`)\n\nLearn how IAM works locally:\n\n- Create users\n- List users\n\n### **S3 Module** (`/s3/index.ts`)\n\nPractice S3 operations:\n\n- Create bucket\n- Upload files\n- List objects\n- Delete objects\n- Learn bucket naming rules\n- Understand access permissions\n\n### AWS Client Wrapper (`awsClient.ts`)\n\nShows how to configure AWS SDK v3 to:\n\n- Connect to LocalStack\n- Override endpoints\n- Use shared credentials\n\n---\n\n## LocalStack + Docker\n\nStart LocalStack:\n\n```sh\ndocker-compose up -d\n```\n\nStop LocalStack:\n\n```sh\ndocker-compose down\n```\n\nTo reset everything:\n\n```sh\nrm -rf volume/\n```\n\n---\n\n## Recommended Learning Path\n\n1. **Start LocalStack**\n2. Learn S3 basics (create bucket → upload → list → delete)\n3. Learn IAM basics (users → roles → policies)\n4. Connect AWS CLI to LocalStack\n5. Expand examples (SNS, SQS, Lambda) when ready\n\nThis repo grows with you—simply add more service folders.\n\n---\n\n## Using AWS CLI With LocalStack\n\nExample:\n\n```sh\naws --endpoint-url=http://localhost:4566 s3 ls\n```\n\nTry creating buckets, listing IAM users, etc.\n\n---\n\n## Contributing\n\nGot an idea for a module? Add it!\nThis repo aims to become a **complete AWS learning playground**.\n\n## References\n\nOfficial documentation and learning resources used in this project:\n\n- **LocalStack – Installation Guide**  \n  https://docs.localstack.cloud/aws/getting-started/installation/\n\n- **LocalStack – Quickstart Guide**  \n  https://docs.localstack.cloud/aws/getting-started/quickstart/\n\n- **AWS SDK for JavaScript (v3) – Getting Started**  \n  https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/getting-started.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fudaykumar-dhokia%2Faws-localstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fudaykumar-dhokia%2Faws-localstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fudaykumar-dhokia%2Faws-localstack/lists"}