Local development install
BOA can install its full stack on your own machine for development and testing — Nginx,
per-site PHP-FPM, Percona, the Ægir control panel and one Octopus tenant — on the private
hostname aegir.local, with no public IP and no DNS to configure. This is the same BOA you
run in production, just reachable only from the machine it runs on.
If instead you only want to pull a site you already host on BOA into a local project, that is a different, lighter workflow covered under Using BOA; this page is for running a whole BOA system locally.
What you need
- A virtual machine or an LXC/container guest — local mode does not install directly on bare metal. Any common hypervisor or container works.
- Devuan, or a compatible Debian release: the installer first migrates Debian to the matching Devuan for you (with a reboot) before installing BOA.
- Your SSH key added to
root, exactly as for a normal BOA install.
You do not need to choose a hostname, an Octopus username, or set up any public DNS.
Install
Download and run the meta installer, then start the install. The only required choices are
the version tag in-lts, the kind local, and your email address:
wget -qO- https://files.boa.io/BOA.sh.txt | bash
boa in-lts local my@email
You can pick how many PHP versions to build. A single version is the fastest:
boa in-lts local my@email php-8.5 # one PHP version (fastest)
boa in-lts local my@email php-min # three recent versions
boa in-lts local my@email php-max # all supported versions
The installer runs unattended: it migrates the system to Devuan if needed, reboots, and then continues on its own. On a small guest the full build can take a while, so leave it to finish.
When it is ready
The install is complete when this command reports three lines:
boa info | grep -c Percona
It is then safe to reboot the guest with boa reboot.
Reaching your local Ægir
Open the Ægir control panel at:
https://aegir.local/user
Your first Octopus tenant is at https://o1.sub.aegir.local, and local mode also installs
the Adminer database manager — for browsing Percona directly — at
https://adminer.aegir.local.
Because aegir.local is a private hostname that no public certificate authority can
validate, HTTPS uses a self-signed certificate — your browser will show a security warning
the first time you open any of these. That warning is expected for local development; accept
it to continue.