| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A VS Code devcontainer template for local AWS development with LocalStack, Terraform, Docker-in-Docker (dinD), and supporting tools. Perfect for bootstrapping any app (Next.js, Python, Go, etc.) that needs local AWS emulation – no Ruby/Rails assumptions.
./scripts/setup.shnpx create-next-app@latest my-app --typescript --tailwind --eslint --app --src-dir --import-alias "@/*"
cd my-app
npm run dev # http://localhost:3000# Health check
curl http://localhost:4566/health
# awslocal (pip-installed awscli-local)
awslocal sqs list-queues
# AWS CLI
aws --endpoint-url=http://localhost:4566 s3 lscd infrastructure
terraform init
terraform plan # Empty/no-op by default
# Edit main.tf to uncomment modules, then apply
terraform apply. ├── .devcontainer/ # Dev env (Node/Terraform/AWS/LocalStack) ├── infrastructure/ # Terraform (provider + modules/sqs|s3|dynamodb) ├── scripts/ # Utils (setup, localstack, registry, CI/CD) ├── docs/ # Documentation (Deploy Runner guide) ├── README.md └── [your-app/] # Bootstrap here (e.g., Next.js)
LocalStack Services: SQS/S3/DynamoDB ready (add endpoints in main.tf).
Registry: localhost:5001 (push/pull images for ECR sim).
This project includes GitLab CE with a two-runner architecture:
See Deploy Runner Documentation for details.
GitLab Management:
# Normal workflow (stop/start preserves data, auto-registers runners)
./scripts/start-gitlab.sh # Start + register runners
./scripts/stop-gitlab.sh # Stop + unregister runners
# Fresh setup (first time or after removing data)
./scripts/setup-gitlab.sh # Full setup: project + SSH + runners
# Nuclear option (clean slate)
./scripts/stop-gitlab.sh --remove-data # Remove all data
./scripts/start-gitlab.sh # Start freshPipeline Stages: build_ci_images → validate → deploy_infra → deploy_app → build_backend → deploy_backend
Example SQS:
module "my_sqs" {
source = "./modules/sqs"
queue_name = "my-app-queue"
...
}
| Service | Command |
|---|---|
| LocalStack | ./scripts/start-localstack.sh / stop-localstack.sh |
| Registry | ./scripts/start-supporting-services.sh |
| Terraform | cd infrastructure && terraform init && terraform plan |
| S3 | awslocal s3 mb s3://my-bucket |
| SQS | awslocal sqs create-queue --queue-name my-queue |
| DynamoDB | awslocal dynamodb create-table --table-name my-table --attribute-definitions AttributeName=pk,AttributeType=S --key-schema AttributeName=pk,KeyType=HASH |
| Test | http GET localhost:4566/health (httpie) |
| GitLab | ./scripts/setup-gitlab.sh (setup), http://localhost:8080 (access) |
| GitLab Runners | docker exec gitlab-runner gitlab-runner list (check runners) |
| Docker dashboard | docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v /yourpath:/.config/jesseduffield/lazydocker lazyteam/lazydocker or to build it first: docker build -t lazyteam/lazydocker --build-arg BASE_IMAGE_BUILDER=arm64v8/golang --build-arg GOARCH=arm64 https://github.com/jesseduffield/lazydocker.git |
GitHub Setup:
VSCode:
Test:
npx @devcontainers/cli@latest up --workspace-folder .
See containers.dev for more.
Fork & customize! 🚀
| Back | FazBrowse Home | New Git URL |