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
tcmalloc
to 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 --recursive
This 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 up
This script will:
- Use Envoy's
do_ci.sh
script with therelease.server_only
target. - Use a shared volume to persist the Bazel cache across runs.
- Output the compiled Envoy release package (
release.tar.zst
) to the./bin
directory. - Use the
envoy-unpacker
service 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.