# Run AWS Services Locally on Your PC for Free with LocalStack

While exploring tools for local cloud development, **LocalStack** was a powerful tool that **simulates AWS services** directly on your computer. It **is used** by developers to **build and test AWS-based applications** without accessing the real AWS cloud, **saving time and money**.

### 1\. What is LocalStack?

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1763031385191/6a1b7549-0729-40f6-a110-157d4385e709.jpeg align="center")

**LocalStack** is a fully functional local cloud stack that emulates many AWS services like S3, Lambda, DynamoDB, SQS, SNS, and more.

It helps developers:

* Develop and test AWS applications offline at no cost
    
* Avoid accidental changes to production AWS environments
    

You can use LocalStack with tools like the AWS CLI, SDKs, and Terraform just like real AWS!

---

### 2\. Getting a License

LocalStack has both a **Free (Community)** version and a **Pro** version with extra features.

**Student tip:**

* With the **GitHub Student Developer Pack**, you can get a **free LocalStack Pro license key**
    
* Otherwise, sign up for a **14-day free trial** at [LocalStack website](https://localstack.cloud/)
    

After signing up, you'll receive a license key to activate LocalStack Pro.

---

### 3\. Setting Up LocalStack on Your PC

There are two main ways to install and run LocalStack:

#### Option 1: Install Directly on Your Machine

```bash
# 1. Install Python (3.8 or higher) and pip
# 2. Install LocalStack using pip:
pip install localstack

# 3. Set your token (if you have one):
localstack auth set-token <token>

# 4. Start LocalStack:
localstack start
```

#### Option 2: Run Using Docker (Recommended)

```bash
# 1. Make sure Docker is installed and running
# 2. Pull the LocalStack Docker image:
docker pull localstack/localstack

# 3. Run LocalStack in a container:
docker run -d -p 4566:4566 -p 4571:4571 localstack/localstack
```

LocalStack will start running on port **4566** (the main gateway for AWS service emulation).

---

### 4\. Using the LocalStack Dashboard

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1763031529260/0ef2cfec-065a-4aea-b8eb-28ec823af36d.jpeg align="center")

Once LocalStack is running, open your browser and go to:

👉 [http://localhost:4566](http://localhost:4566/)

You'll see the **LocalStack Web Dashboard**, which shows:

* Running status of your LocalStack instance
    
* List of available AWS services (S3, DynamoDB, etc.)
    
* Logs and configuration options
    

And also activate your license key from the dashboard.

---

### 5\. Accessing LocalStack Using AWS CLI

LocalStack works seamlessly with the AWS CLI.

**Step 1: Configure AWS CLI** (use dummy credentials):

```bash
aws configure

# AWS Access Key ID [None]: test
# AWS Secret Access Key [None]: test
# Default region name [us-east-1]: us-east-1
# Default output format [None]: JSON
```

Enter any values for Access Key, Secret Key, and Region (e.g., `us-east-1`).

**Step 2: Point to LocalStack**

Always add `--endpoint-url=http://localhost:4566` to your AWS commands.

Example:

```bash
aws --endpoint-url=http://localhost:4566 s3 ls
```

---

### 📦 Example: Create an S3 Bucket in LocalStack

Let's create an S3 bucket locally step by step.

#### Step 1: Make Sure LocalStack is Running

Verify LocalStack is up (using Docker or direct installation).

#### Step 2: Create a Bucket

```bash
aws --endpoint-url=http://localhost:4566 s3 mb s3://my-local-bucket
```

#### Step 3: Verify Bucket Creation

```bash
aws --endpoint-url=http://localhost:4566 s3 ls

# 2025-11-13 22:38:01 my-local-bucket
```

You should see your new bucket listed!

#### Step 4: Upload a File

```bash
echo "Hello LocalStack!" > test.txt
aws --endpoint-url=http://localhost:4566 s3 cp test.txt s3://my-local-bucket/
```

#### Step 5: List Files in the Bucket

```bash
aws --endpoint-url=http://localhost:4566 s3 ls s3://my-local-bucket/

# 2025-11-13 22:38:52         18 test.txt
```

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1763054012425/7d5f530e-2bd0-4a63-845e-3071d365bac1.jpeg align="center")

---

### ✅ Conclusion

LocalStack is a fantastic tool for developers who want to:

* Experiment with AWS locally
    
* Avoid unnecessary cloud costs
    
* Test automation pipelines or serverless applications safely
    

When learning AWS, building a local test environment, or developing CI/CD workflows, **LocalStack makes local cloud development easy and efficient**.
