expo/builder
download

Get ebl

Linux and Windows are both supported natively. Pick your platform:

System requirements

Building an Android app locally means running the same Gradle/Kotlin/Android SDK toolchain Android Studio does — these aren't hard limits ebl enforces, just realistic guidance so your first build isn't a slow, swap-thrashing surprise.

RAM
16 GB+ recommended
A cold build compiles native code for 4 CPU architectures plus the Kotlin/JS toolchain — genuinely heavy. Less can still work, but on Windows specifically, Docker Desktop's WSL2 VM running out of memory crashes its own Engine API outright rather than just slowing down; the installer sizes its memory/swap limits automatically from your actual RAM to reduce that.
CPU
4+ cores recommended
Gradle and Kotlin annotation processing both parallelize across cores — more cores means a noticeably faster compile phase.
Disk space
~40 GB free
Covers the runner image (~6.8 GB), Gradle/npm caches that grow over a few builds, and — on Windows — WSL2's swap file headroom. Reclaim all of it any time with ebl clean --all.
OS & Docker
Linux, or Windows 10/11
Docker Engine on Linux, or Docker Desktop on Windows — either way, it needs to be installed and running before you start. On Windows, ebl.exe itself talks to Docker Desktop directly and needs no WSL2 distro of its own, but Docker Desktop's own default backend is a WSL2 VM, which is what actually runs your builds.
1

APT repository (recommended)

A real, GPG-signed APT repo — once added, sudo apt upgrade picks up new releases automatically.

bash
curl -fsSL https://41vi4p.github.io/expo-builder-local/apt/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/ebl-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/ebl-archive-keyring.gpg] https://41vi4p.github.io/expo-builder-local/apt stable main" | sudo tee /etc/apt/sources.list.d/ebl.list
sudo apt update && sudo apt install ebl
2

One-line installer

Adds the APT repo for you where possible, otherwise falls back to a direct .deb download.

bash
curl -fsSL https://raw.githubusercontent.com/41vi4p/expo-builder-local/main/install.sh | sh
3

Direct .deb download

Grab ebl_*_amd64.deb from GitHub Releases, then:

bash
sudo apt install ./ebl_*_amd64.deb
View releases on GitHub ↗

After installing

bash
ebl setup     # checks/installs Docker, pulls the runner image
cd /path/to/your/expo/app
ebl build .   # signed APK in ./ebl_builds/

No ebl config/ebl start required for a first build — see the Docs for the web GUI and every option.

uninstall

Uninstall

Run ebl clean --all first

None of the steps below touch Docker — the runner/orchestrator/web images, the Gradle/npm cache volumes, and any leftover build containers all stay on disk after ebl itself is gone. ebl clean --all(needs Docker Desktop/Docker still running) removes all of that safely in one step; afterward you'd have to find and remove it by hand with raw docker commands instead.

If installed via the APT repo or a `.deb`:

bash
sudo apt remove ebl
# and, if you added it: sudo rm /etc/apt/sources.list.d/ebl.list

This removes the ebl binary only — your projects, ebl_builds/ artifacts, and ~/.config/ebl/ (saved tokens/settings) are untouched. Remove that config directory yourself for a completely clean slate:

bash
rm -rf ~/.config/ebl