Get started
Run Vera on your machine, then point your cloud tools at it. With a Pro plan or trial, the Vera launcher activates your license key and starts the emulator. On the Free plan, you can start it with Docker alone, without a key. Nothing here needs a real cloud account.
The commands on this page were checked with Vera 1.2.2 on Linux AMD64. macOS, Windows and ARM64 follow the same steps with their own launcher; they weren’t tested for these docs.
Requirements
Section titled “Requirements”- Docker, installed and running Linux containers. On Windows, use Docker Desktop in Linux-container mode. See Docker’s install guide.
- Downloads for your CPU. The launcher and the image must both match it, AMD64 or ARM64. On a Mac, Apple silicon is ARM64 and Intel is AMD64; Windows calls AMD64 x64.
- A terminal: bash or zsh on Linux and macOS, or PowerShell on Windows itself, not in WSL.
- curl, for the checks and the first request. In PowerShell, run it as
curl.exe. - For Pro or a trial: your license key, the Vera launcher, and an internet connection when the emulator starts. See Licenses and plans.
Download and check the launcher
Section titled “Download and check the launcher”The Vera launcher activates your license key and starts the emulator. It’s a separate download from the emulator image. On the Free plan without a key, you don’t need it: skip to Download and check the image.
From your Vera account, download the launcher for your computer, the SHA256SUMS file, and your license key. The launcher saves as vera (vera.exe on Windows), and the key as activation-key. Run the commands on this page in the folder that holds the launcher and the image.
The launchers aren’t signed yet, so check the launcher’s SHA-256 checksum before you run it. A matching checksum shows the file arrived intact; it isn’t a signature. SHA256SUMS lists each launcher under its original name, so compare with your launcher’s line:
sha256sum ./veraCompare it with vera-linux-amd64 in SHA256SUMS, or vera-linux-arm64 on ARM64.
shasum -a 256 ./veraCompare it with vera-darwin-arm64 in SHA256SUMS on Apple silicon, or vera-darwin-amd64 on Intel.
The launcher is an unsigned download, so macOS may block it when you run it after chmod +x ./vera in Start the emulator. If it does, and the checksum matched, remove the quarantine flag from that one file, then run the launcher again:
xattr -d com.apple.quarantine ./veraIt’s a recovery step, not part of every setup: a download macOS didn’t flag has nothing to remove. It changes only this file, not your Mac’s security settings.
Get-FileHash .\vera.exe -Algorithm SHA256Compare it with vera-windows-amd64.exe in SHA256SUMS on x64, or vera-windows-arm64.exe on ARM64, ignoring letter case.
Keep the key file private. You give the launcher its path, never its contents, and you can download it again from your account at any time.
Download and check the image
Section titled “Download and check the image”From the same page, download the emulator image for the same CPU as your launcher. In the commands from here on, choose your system, then your CPU: AMD64 for Intel and AMD processors (Windows calls it x64), ARM64 for Apple silicon and other ARM processors. Each command then names that CPU’s archive and image, and your choice carries to the other setup pages. The ARM64 archive, checksum and tag are the release catalog’s; only AMD64 was run for these docs.
Check the archive’s SHA-256 checksum. It must match the one shown under the command:
sha256sum vera-emu-1.2.2-amd64.tar.gz3de56ef0ee554ceef1ff1f2bc06e314c611eaea7b221865a33cda1117b862eb7sha256sum vera-emu-1.2.2-arm64.tar.gzfef8843322253469335e114ebab886fe39df4f4c9e4c49e4c0c1e639a8ea77a6shasum -a 256 vera-emu-1.2.2-amd64.tar.gz3de56ef0ee554ceef1ff1f2bc06e314c611eaea7b221865a33cda1117b862eb7shasum -a 256 vera-emu-1.2.2-arm64.tar.gzfef8843322253469335e114ebab886fe39df4f4c9e4c49e4c0c1e639a8ea77a6Get-FileHash .\vera-emu-1.2.2-amd64.tar.gz -Algorithm SHA2563de56ef0ee554ceef1ff1f2bc06e314c611eaea7b221865a33cda1117b862eb7Get-FileHash .\vera-emu-1.2.2-arm64.tar.gz -Algorithm SHA256fef8843322253469335e114ebab886fe39df4f4c9e4c49e4c0c1e639a8ea77a6Load the image
Section titled “Load the image”Load the archive into Docker. The command is the same in every terminal:
docker load --input vera-emu-1.2.2-amd64.tar.gzdocker load --input vera-emu-1.2.2-arm64.tar.gzDocker prints the tag it loaded, vera:1.2.2-amd64 or vera:1.2.2-arm64, which the start commands use. It’s a local name, not a registry address, so there’s nothing to docker pull.
Start the emulator
Section titled “Start the emulator”If you already have a container named vera, look at it first with docker ps --all --filter name=vera: removing it discards everything you created in it.
With Pro or a trial, activate your key and start the emulator with the launcher. Change the key’s path if you saved it somewhere else:
chmod +x ./vera./vera activate "$HOME/Downloads/activation-key"./vera start vera:1.2.2-amd64 --detach./vera statuschmod +x ./vera./vera activate "$HOME/Downloads/activation-key"./vera start vera:1.2.2-arm64 --detach./vera statuschmod +x ./vera./vera activate "$HOME/Downloads/activation-key"./vera start vera:1.2.2-amd64 --detach./vera statuschmod +x ./vera./vera activate "$HOME/Downloads/activation-key"./vera start vera:1.2.2-arm64 --detach./vera status.\vera.exe activate "$HOME\Downloads\activation-key".\vera.exe start vera:1.2.2-amd64 --detach.\vera.exe status.\vera.exe activate "$HOME\Downloads\activation-key".\vera.exe start vera:1.2.2-arm64 --detach.\vera.exe statusactivateinstalls the key from the file you give it.starttakes the exact image tag, and runs the emulator in a container namedvera. The first start binds your license to this computer, and your account page then shows it as the license’s bound host.--detachmakesstartreturn at once, so the next command runs. Without it,startfollows the emulator’s console: Ctrl+C stops following and leaves the emulator running, andvera logsfollows it again.statusshows the container’s Docker state. It doesn’t show whether the emulator is ready or Pro is active: that’s the next check.
Free plan: start with Docker
Section titled “Free plan: start with Docker”To use only the Free services, start the image with Docker instead. You don’t need the launcher or a key:
docker run --detach --rm --name vera \ --publish 127.0.0.1:5003:5003 \ --publish 127.0.0.1:8081:8081 \ --publish 127.0.0.1:8543:8543 \ vera:1.2.2-amd64docker run --detach --rm --name vera \ --publish 127.0.0.1:5003:5003 \ --publish 127.0.0.1:8081:8081 \ --publish 127.0.0.1:8543:8543 \ vera:1.2.2-arm64docker run --detach --rm --name vera \ --publish 127.0.0.1:5003:5003 \ --publish 127.0.0.1:8081:8081 \ --publish 127.0.0.1:8543:8543 \ vera:1.2.2-amd64docker run --detach --rm --name vera \ --publish 127.0.0.1:5003:5003 \ --publish 127.0.0.1:8081:8081 \ --publish 127.0.0.1:8543:8543 \ vera:1.2.2-arm64docker run --detach --rm --name vera ` --publish 127.0.0.1:5003:5003 ` --publish 127.0.0.1:8081:8081 ` --publish 127.0.0.1:8543:8543 ` vera:1.2.2-amd64docker run --detach --rm --name vera ` --publish 127.0.0.1:5003:5003 ` --publish 127.0.0.1:8081:8081 ` --publish 127.0.0.1:8543:8543 ` vera:1.2.2-arm64--rmremoves the container when it stops, and with it everything you created: see Running the emulator.127.0.0.1keeps each port on this machine. Without an address, Docker publishes a port on every network interface.
This can’t turn on Pro, even with a key file: Pro starts with the launcher. See Licenses and plans.
Check access
Section titled “Check access”Ask the emulator for its license status:
curl --fail --silent --show-error http://localhost:5003/_licensecurl --fail --silent --show-error http://localhost:5003/_licensecurl.exe --fail --silent --show-error http://localhost:5003/_licenseIf curl can’t connect yet, the emulator is still starting. Check its progress with docker logs --tail 100 vera, then try again. Started with the launcher and your key, the response includes:
{ "tier": "ultimate", "access": "full", "reason": "verified_online"}access is full when Pro or a trial is active, and free on the Free plan. The license check calls Pro ultimate, so check access, not tier. A running container on its own doesn’t mean Pro is active.
Make a first request
Section titled “Make a first request”List a project’s Compute Engine networks, which works on the Free plan and on Pro:
curl --fail --silent --show-error \ http://localhost:8081/compute/v1/projects/example-project/global/networkscurl --fail --silent --show-error \ http://localhost:8081/compute/v1/projects/example-project/global/networkscurl.exe --fail --silent --show-error ` http://localhost:8081/compute/v1/projects/example-project/global/networksThe response lists the project’s networks, including the default network the emulator creates. IDs, timestamps and the subnet list vary. It’s emulated configuration, not a real network, and example-project doesn’t have to exist in Google Cloud.
Next steps
Section titled “Next steps”Each cloud has its own address on your machine. They aren’t interchangeable, and Azure’s is HTTPS: see Azure over HTTPS.
| Cloud | Address on your machine |
|---|---|
| Amazon Web Services (AWS) | http://localhost:5003 |
| Google Cloud | http://localhost:8081 |
| Microsoft Azure | https://localhost:8543 |
The launcher also publishes a few ports for specific services, listed in Running the emulator.
Make a first request in the cloud you use:
Running the emulator covers logs, stopping, updating, troubleshooting and getting help.