fireflo-install automates. Read this if you are packaging
FireFlo yourself, or if an installer step failed and you need to know what it was doing.
The prerequisites below are scripted.
setup.sh installs
PostgreSQL, RabbitMQ and Node on Ubuntu and Debian, and Java behind --with-java. This page is the
long hand — read it to know what that script does, or to do it on a distribution it refuses.Prerequisites
- Java 25. The build targets release 25 and will not run on 21.
- PostgreSQL 14 or newer. Optional for the gateway alone in file mode; required for the control panel, prepaid credit, whitelisting, and call records in a table.
- RabbitMQ, only if submitted messages must survive a gateway restart. Without it the queue is in memory and a restart drops whatever had not reached a vendor.
- A service user with no login shell.
The awkward part of this platform
Two of the three runtimes are not what Ubuntu ships:1
Base packages
2
Java 25 from Adoptium
3
Node 22 from NodeSource
Next.js 16 does not run on Ubuntu’s Node 18 — this is for the control panel.
4
Service user and directories
5
Database
Layout
Configuration is kept out of the artefact directory, so an upgrade can replace the artefact wholesale without touching anything you edited.The environment file
chmod 600. It holds the database password and both operational tokens.
Ports
systemd
Two settings matter more than the rest:Log retention, which you now own
Nothing in the gateway removeshttpapi.log. Quarkus rotates it daily and keeps every file forever.
fireflo-install installs a daily systemd timer for exactly this; installing by hand means arranging one
yourself, or accepting unbounded growth. See Logging.