by skunxicat

Lambda Custom Runtime for Shell Scripts

Today we’re releasing lambda-shell-runtime v1.0.0 — a production-ready AWS Lambda custom runtime that turns shell scripts into serverless functions in minutes.

Why Custom Lambda Runtimes Matter

AWS Lambda custom runtimes let you run any language or tool in serverless environments. Most serverless runtimes force you into their world. You learn their frameworks, their patterns, their constraints. We went the opposite direction: what if Lambda spoke shell?

# handler.sh
main() {
    local event="$1"
    local name=$(echo "$event" | jq -r '.name // "World"')
    echo '{"message": "Hello, '"$name"'!"}'
}
FROM ghcr.io/ql4b/lambda-shell-runtime:tiny
COPY handler.sh .

That’s it. Deploy to Lambda.

Three Variants, One Philosophy

We built three optimized images:

  • tiny (132MB) — jq, curl, http-cli for HTTP APIs
  • micro (221MB) — adds awscurl for AWS API calls
  • full (417MB) — complete AWS CLI for everything else

Each smaller than most official runtimes, each production-ready.

Real Performance

  • Cold start: 100-300ms
  • Size: 75% smaller than Python runtime (tiny variant)
  • Multi-platform: ARM64 and x86_64
  • Local testing: Full Lambda RIE support

Available Now

# GitHub Container Registry
ghcr.io/ql4b/lambda-shell-runtime:tiny

# AWS Public ECR  
public.ecr.aws/l9f6r9f5/lambda-shell-runtime:tiny

The Bigger Picture

This is part of our cloudless philosophy — infrastructure that gets out of your way. Shell scripts shouldn’t need frameworks to become APIs. Simple tools should stay simple, even in the cloud.

Try it: https://github.com/ql4b/lambda-shell-runtime


Built by the QL4B team. We make the cloud feel local again.