Apple Silicon Mac is a free arm64 build farm for ARM Linux servers
Building Docker images for a small ARM Linux server when the server itself cannot host the build
When a small ARM VPS (e.g. Azure B-series 4GB RAM, no swap) OOMs partway through a heavy Node/Next.js build, the usual instincts (add swap, set up a registry, cross-compile with buildx --platform) are all overkill if you have an Apple Silicon Mac. The Mac builds native linux/arm64 — same arch as the VPS — at full M-series speed with no platform flags. Transfer to the server is a single pipe with no intermediate tarball: docker save myimg:tag | gzip -1 | ssh host 'sudo docker load'. The gzip -1 matters: full compression bottlenecks on the source CPU and Docker layers are already largely compressed, so -1 is the sweet spot. Same-arch local build + stream-via-ssh skips the entire registry+image-pull dance for self-hosted single-server setups.
For ARM Linux server image builds, default to building locally on Apple Silicon (native arm64, no buildx --platform) and stream via docker save | gzip -1 | ssh host docker load instead of standing up a registry or trying to build on the small server.