Install
Install fakecloud via script, Cargo, Docker, Docker Compose, or from source.
fakecloud ships as a single ~19 MB binary. Pick whichever install path fits your workflow.
Install script (recommended)
curl -fsSL https://fakecloud.dev/install.sh | bash
fakecloudThe script downloads the latest release for your platform and puts the fakecloud binary somewhere on your PATH.
Cargo
cargo install fakecloud
fakecloudFrom source
git clone https://github.com/faiscadev/fakecloud.git
cd fakecloud
cargo run --release --bin fakecloudDocker
docker run --rm -p 4566:4566 ghcr.io/faiscadev/fakecloudTo enable Lambda / RDS / ElastiCache / ECS function execution (real code in containers), mount the Docker socket and add the host-gateway alias so fakecloud can reach the sibling containers it spawns on the host's daemon:
docker run --rm -p 4566:4566 \
-v /var/run/docker.sock:/var/run/docker.sock \
--add-host host.docker.internal:host-gateway \
ghcr.io/faiscadev/fakecloudThe image ships with the docker CLI installed and FAKECLOUD_IN_CONTAINER=1 set, so fakecloud automatically reaches spawned Lambda containers via host.docker.internal:<port> instead of 127.0.0.1:<port> (which would resolve to fakecloud's own loopback inside its container).
Docker Compose
# docker-compose.yml
services:
fakecloud:
image: ghcr.io/faiscadev/fakecloud
ports:
- "4566:4566"
volumes:
- /var/run/docker.sock:/var/run/docker.sock # required for Lambda Invoke
extra_hosts:
- "host.docker.internal:host-gateway" # required for Lambda Invoke
environment:
FAKECLOUD_LOG: infodocker compose upVerify the install
fakecloud listens on port 4566 by default. Once it's running:
curl http://localhost:4566/_fakecloud/healthYou should see a JSON response listing every service fakecloud is serving.
Next
Point your AWS SDK at http://localhost:4566 and run your first test — see First test.