A build wrapper for Envoy Proxy targeting ARM64 devices (e.g., Raspberry Pi), with tcmalloc disabled to improve stability on embedded Linux systems.
- Builds a release version of Envoy for ARM64 (
aarch64) - Disables
tcmallocto prevent memory-related crashes on embedded devices - Uses Docker and Envoy's official devcontainer for consistency
git clone https://github.com/tonalflex/envoy-arm64-builder.git
cd envoy-arm64-builder
git submodule update --init --recursiveThis setup builds Envoy locally using Docker Compose and extracts the final binary from the container.
- Build the Envoy dev container image:
docker build -t envoy-devcontainer envoy/.devcontainer- Run the build using Docker Compose:
docker-compose upThis script will:
- Use Envoy's
do_ci.shscript with therelease.server_onlytarget. - Use a shared volume to persist the Bazel cache across runs.
- Output the compiled Envoy release package (
release.tar.zst) to the./bindirectory. - Use the
envoy-unpackerservice to automatically decompress and unpack the binaries.
This repository is licensed under the Apache License 2.0.
It includes Envoy Proxy as a Git submodule to produce ARM64-compatible release builds. Envoy retains its original Apache License 2.0; see the upstream LICENSE for details.
If you redistribute binaries built with this project, ensure compliance with Envoy’s license terms.