Local cloud APIs for SDK-level integration testing — all in a single process
2.1K
CloudTwin is a lightweight, self-contained local runtime for cloud services. It emulates common AWS, Azure, and GCP service APIs locally so applications can run and be tested without real cloud accounts.
CloudTwin runs everything inside a single process with no external service dependencies — no MinIO, no RabbitMQ, and no cloud accounts required.
State is persisted using SQLite by default, or can run entirely in memory for CI and ephemeral test environments.
Run CloudTwin locally:
docker run -p 4793:4793 creogroup/cloudtwin
Cloud API:
http://localhost:4793
To persist service state across container restarts, mount a volume at /data.
docker run -p 4793:4793 \
-v cloudtwin-data:/data \
creogroup/cloudtwin
CloudTwin can be configured using environment variables or a YAML configuration file.
To provide a configuration file:
docker run -p 4793:4793 \
-v cloudtwin-data:/data \
-v $(pwd)/cloudtwin.yml:/config/cloudtwin.yml \
creogroup/cloudtwin
Common environment variables:
| Variable | Default | Description |
|---|---|---|
CLOUDTWIN_HOST | 0.0.0.0 | Bind address |
CLOUDTWIN_PORT | 4793 | API port |
CLOUDTWIN_STORAGE_MODE | sqlite | sqlite or memory |
CLOUDTWIN_STORAGE_PATH | /data/cloudtwin.db | SQLite database path |
CLOUDTWIN_DASHBOARD_ENABLED | false | Enable the web dashboard |
Example:
docker run -p 4793:4793 \
-e CLOUDTWIN_STORAGE_MODE=memory \
creogroup/cloudtwin
CloudTwin includes an optional web dashboard for inspecting resources and event logs.
Enable it using an environment variable:
docker run -p 4793:4793 \
-e CLOUDTWIN_DASHBOARD_ENABLED=true \
creogroup/cloudtwin
Dashboard:
http://localhost:4793/dashboard
CloudTwin currently supports a growing set of cloud services across providers.
CloudTwin is fully open source.
GitHub repository:
https://github.com/creocorp/cloud-twin
Feedback, issues, and contributions are welcome.
A lightweight Rust version called CloudTwin Lite is in development. The goal is a small statically linked binary suitable for CI environments or minimal container images.
The Rust version is currently experimental and not yet at feature parity with the Python implementation.
Content type
Image
Digest
sha256:fb0b80958…
Size
33.7 MB
Last updated
5 months ago
docker pull creogroup/cloudtwin