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.
Docker (alternative)
The repository includes docker-compose.yml (app on port 8001, PostgreSQL 18 and a Mailpit lab mailbox). Useful for evaluation; for production the native installation in this guide is recommended.