Skip to content

Installation

CloudMock is a single binary with zero external dependencies. Pick the install method that fits your workflow.

Run without installing:

Terminal window
npx cloudmock start

This downloads the latest release binary and starts the gateway. No global install required.

Terminal window
sudo snap install cloudmock
cloudmock start
Terminal window
brew install viridian-inc/tap/cloudmock
cloudmock start

To upgrade later:

Terminal window
brew upgrade cloudmock
Terminal window
docker run -p 4566:4566 -p 4500:4500 ghcr.io/Viridian-Inc/cloudmock:latest

To run in the background:

Terminal window
docker run -d --name cloudmock -p 4566:4566 -p 4500:4500 ghcr.io/Viridian-Inc/cloudmock:latest

With Docker Compose, add this to your docker-compose.yml:

services:
cloudmock:
image: ghcr.io/Viridian-Inc/cloudmock:latest
ports:
- "4566:4566"
- "4500:4500"

Then docker compose up -d.

Terminal window
curl -fsSL https://cloudmock.dev/install.sh | bash
cloudmock start
Terminal window
curl -LO https://github.com/Viridian-Inc/cloudmock/releases/download/v1.0.3/cloudmock_1.0.3_amd64.deb && sudo apt install cloudmock_1.0.3_amd64.deb
cloudmock start

ARM64:

Terminal window
curl -LO https://github.com/Viridian-Inc/cloudmock/releases/download/v1.0.3/cloudmock_1.0.3_arm64.deb && sudo apt install cloudmock_1.0.3_arm64.deb

Requires Go 1.26 or later:

Terminal window
go install github.com/Viridian-Inc/cloudmock/cmd/gateway@latest
cloudmock start
PlatformSupport
macOS (arm64, amd64)Native binary
Linux (arm64, amd64)Native binary
WindowsDocker (recommended), or WSL2 with the Linux binary

CloudMock has no runtime dependencies. No database, no JVM, no Docker requirement (unless you choose the Docker install method).

After starting CloudMock, you should see output like this:

Starting cloudmock gateway (config=cloudmock.yml)
AWS Gateway: http://localhost:4566
Dashboard: http://localhost:4500
Admin API: http://localhost:4599
Profile: minimal (8 services)
IAM mode: enforce
Persistence: off
Ready.

The gateway listens on three ports:

PortPurpose
4566AWS API endpoint — point your SDKs and CLI here
4500Web dashboard for inspecting services and resources
4599Admin API for health checks, resets, and configuration

CloudMock reads configuration from cloudmock.yml in the working directory. The defaults work for most use cases. See the Configuration Reference for all options.

Common overrides via environment variables:

Terminal window
# Change ports
CLOUDMOCK_GATEWAY_PORT=5566 cloudmock start
# Use a different service profile
CLOUDMOCK_PROFILE=standard cloudmock start
# Disable IAM enforcement for quick prototyping
CLOUDMOCK_IAM_MODE=none cloudmock start

Clone the example project and run it in under a minute:

Terminal window
git clone https://github.com/Viridian-Inc/cloudmock-todo-demo.git
cd cloudmock-todo-demo/node
npx cloudmock &
npm install && npx tsx quickstart.ts

See the full demo project for Python and Go examples.

You have CloudMock running. Now make your first request.