Requirements
The supported platform for hosting BIAM is Linux + PostgreSQL. The organization's Windows servers do not host BIAM: they keep operating as they do today, and BIAM reaches them over the network (see Legacy Windows integration).
Software
| Component | Version | Notes |
|---|---|---|
| OS | Ubuntu Server 24.04 LTS or RHEL 9 (x86_64) | Any modern Linux works; these are the recommended ones |
| PHP | 8.4+ (php-fpm) | Extensions: pgsql, pdo_pgsql, ldap, mbstring, xml, curl, zip, intl, bcmath, opcache |
| PostgreSQL | 16+ (18 recommended) | The only supported database |
| nginx | stable | Serves backend/public (API + SPA, same origin — no CORS) |
| Composer | 2.x | Only during install/upgrade |
| Node.js | 20+ | Only to build the SPA; unnecessary if the release ships the build |
Also required: cron (the internal scheduler runs every minute) and systemd or Supervisor for the queue worker. Outbound SMTP for notifications and welcome emails.
Hardware (per scenario)
| Scenario | VMs | vCPU | RAM | Disk |
|---|---|---|---|---|
| Pilot / PoC | 1 (all-in-one) | 4 | 8 GB | 100 GB SSD |
| Standard production | 2 (app + DB) | 4 + 4 | 8 + 8 GB | 80 GB + 150 GB SSD |
| High availability | 4–5 | — | — | see Topology |
Size the database disk for 2–3 years: auditing, approval records and reports grow steadily and are never purged automatically.
Timezone
Set APP_TIMEZONE in the backend .env (Bayoex installations: America/La_Paz). It governs the execution of scheduled lifecycle windows — with the wrong timezone, a 23:59 deactivation would run hours earlier or later.
Containers (reference deployment)
BIAM is installed at customers with Docker Compose: three application containers (web, queue and scheduler) from one php:8.4-apache image with Chromium and Python/Selenium for the RPA connectors, plus PostgreSQL 18 — see Container installation. In that case, of the software in this table only Docker Engine + Compose v2 is needed on the server (PHP, nginx, Composer and Node live inside the image); the hardware is the same. The native installation remains available for those who do not want containers.
The docker-compose.yml at the repository root (app on port 8001, PostgreSQL and a Mailpit mailbox) is for development and evaluation only, not the production one.