Running vertigo app on arm64
The build created by vertigo build is WebAssembly and JavaScript, so it works on any architecture. Only the server (the vertigo binary) has to match the machine it runs on.
Docker
The sfisol/vertigo image is published for both amd64 and arm64, so the Dockerfile from "Dockerize my rusty vertigo app" works without changes - on an arm64 machine Docker picks the arm64 variant by itself.
To build the image on an amd64 machine for an arm64 one (like a Raspberry Pi or an ARM cloud instance), set the platform:
docker buildx build --platform linux/arm64 -t my-app:arm64 --load .
or build for both at once, pushing the result to a registry:
docker buildx build --platform linux/amd64,linux/arm64 -t registry.example.com/my-app:latest --push .
As the Dockerfile only copies files, building for another architecture doesn't need any emulation (only running the image on a different architecture would).
Use buildx, which comes with Docker Desktop (on Linux install the docker-buildx plugin). The legacy builder, used by docker build when buildx is missing, can reuse an already pulled amd64 base image and silently produce an image of the wrong architecture.
Without Docker
Install the server on the target machine, in the same version as vertigo in your Cargo.toml (compiling takes a while on small devices):
cargo install vertigo-cli --version 0.13.3
Then copy the build directory there and start the server:
vertigo serve --dest-dir build --host 0.0.0.0