Deploy and Host LocalStack on Sealos
LocalStack is an AWS-compatible cloud emulator for development and testing. This template deploys the final legacy Community release, LocalStack 4.14.0, behind a generated Sealos HTTPS endpoint.

About Hosting LocalStack
LocalStack provides AWS-compatible APIs for services such as S3, SQS, SNS, DynamoDB, CloudFormation, and API Gateway. Applications can point an AWS SDK or CLI at the generated endpoint and exercise cloud workflows in an isolated environment.
The template creates one LocalStack Deployment, a ClusterIP Service, and a TLS Ingress. Port 4566 serves the public gateway. Ports 4510-4559 preserve the official external-service range for cluster clients.
Community 4.14.0 starts with an empty emulator state after each Pod replacement. Recreate test fixtures through scripts, Terraform, AWS CDK, or CloudFormation. Local state persistence is available in LocalStack Base and higher plans with an account-based image and auth token.
Container-runtime-backed services such as Lambda execution require a Docker or Kubernetes executor. This template supports gateway-backed services that execute inside the LocalStack process.
Common Use Cases
- AWS SDK development: Test application integrations against an isolated AWS-compatible endpoint.
- Infrastructure validation: Exercise Terraform, AWS CDK, and CloudFormation workflows before connecting to an AWS account.
- Integration testing: Create disposable S3, SQS, SNS, and DynamoDB test environments.
- Developer sandboxes: Give a team a shared cloud emulator with a stable HTTPS endpoint.
Dependencies for LocalStack Hosting
The Sealos template includes the LocalStack Community runtime, internal networking, and a public HTTPS gateway.
Deployment Dependencies
Implementation Details
Architecture Components:
- LocalStack Deployment: Runs
localstack/localstack:4.14.0 with one replica and a recreate update strategy.
- Ephemeral workspace: Creates
/tmp/localstack-user as a writable temporary directory for the non-root process.
- Service: Exposes gateway port
4566 and external service ports 4510-4559 inside the cluster.
- Ingress: Publishes the gateway through a generated HTTPS hostname.
- App link: Opens
/_localstack/health so the running edition, version, and service status are visible.
Configuration:
LOCALSTACK_HOST and USE_SSL=1 align generated service URLs with the Sealos HTTPS endpoint.
SQS_ENDPOINT_STRATEGY=path keeps queue URLs on the generated hostname and public TLS route.
TEMP=/tmp/localstack-user places temporary service state in a directory owned by user 1000.
DNS_ADDRESS=0 uses cluster DNS and keeps the non-root runtime on unprivileged ports.
- Startup, readiness, and liveness probes use the official
/_localstack/health route.
- The Pod runs as LocalStack user
1000 with a runtime-default seccomp profile and dropped Linux capabilities.
- The validated starting allocation is
100m CPU and 256Mi memory.
Release and License Information:
LocalStack 4.14.0 is the final legacy Community release and uses the Apache License 2.0. Account-based LocalStack images provide maintained releases and plans for current commercial workflows.
Why Deploy LocalStack on Sealos?
Sealos is a Kubernetes-based cloud operating system that manages application resources through a visual Canvas. Deploying LocalStack on Sealos provides:
- One-click deployment: Provision the runtime, networking, and HTTPS endpoint from one template.
- Managed HTTPS: Use a generated public hostname with platform-managed TLS.
- Restricted runtime: Start the Community image as a non-root user with a compact security context.
- Canvas operations: Adjust resources and inspect workloads through resource cards or the AI dialog.
- Compact footprint: Start with the live-tested
100m CPU and 256Mi memory profile.
Deployment Guide
- Open the LocalStack template and click Deploy Now.
- Review the generated application name and hostname, then start the deployment.
- Wait for deployment to complete, typically 2-3 minutes. Sealos then opens the Canvas for the new instance.
- Open LocalStack from the App resource card. The health response shows the Community edition and version.
The generated endpoint is publicly reachable. Use synthetic test data and remove the instance after each testing session.
Connect an AWS Client
Set standard AWS development credentials and direct the AWS CLI to the generated HTTPS endpoint:
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test
export AWS_DEFAULT_REGION=us-east-1
export LOCALSTACK_URL=https://<generated-localstack-host>
aws --endpoint-url "$LOCALSTACK_URL" s3api create-bucket --bucket sealos-demo
aws --endpoint-url "$LOCALSTACK_URL" s3api list-buckets
aws --endpoint-url "$LOCALSTACK_URL" sqs create-queue --queue-name sealos-demo
aws --endpoint-url "$LOCALSTACK_URL" sqs list-queues
LocalStack Community accepts AWS-compatible request credentials. Development values such as test fit isolated test workloads.
State Lifecycle
Each Pod replacement creates a fresh Community emulator state. Keep fixture creation in version-controlled setup scripts or infrastructure definitions so every test environment starts consistently.
LocalStack Base and higher plans provide local state persistence. Those plans use an account-based image, an auth token, and a mounted LocalStack volume.
Configuration
Use the Sealos Canvas after deployment to adjust the LocalStack workload:
- AI Dialog: Describe environment or resource changes and let Sealos apply them.
- Resource Cards: Open the Deployment, Service, or Ingress settings directly.
- Service selection: Add
SERVICES and EAGER_SERVICE_LOADING=1 when a fixed service allowlist improves startup behavior.
- Capacity: Increase CPU or memory through the Deployment resource card for larger integration suites.
Troubleshooting
Client cannot reach the endpoint
Use the exact HTTPS URL shown by the App resource and pass its origin through the client's endpoint option. AWS CLI uses --endpoint-url, while SDKs expose an equivalent endpoint setting.
SQS returns a path-style queue URL
The path-style URL keeps the queue on the generated Sealos hostname. Pass the returned QueueUrl directly to SQS operations.
A service needs a container runtime
Lambda container execution and similar runtime-backed features require Docker or a Kubernetes executor with matching permissions. Gateway-backed services such as S3, SQS, SNS, and DynamoDB fit the default template profile.
Requests become slow during a large test suite
Increase CPU and memory from the Deployment resource card. The default profile targets compact development workflows.
Getting Help
Additional Resources
License
This Sealos template follows the license of the templates repository. LocalStack Community is available under the Apache License 2.0.