fireflo-install automates the by-hand deployment: packages, service
user, directories, artefact, configuration, database, systemd unit, firewall, and a smoke test at the
end.
It installs the gateway only. The control panel has
its own installer, and on a fresh host you run both.
Look before you leap
It asks first, then shows you the answers
install collects what it needs, prints every decision it is about to act on, and waits. Nothing is
written until you agree.
--yes to skip the confirmation in a scripted install, and --dry-run to see the decisions
without making them.
--dry-run shows less than it appears to. It cannot report what a package manager would pull in,
or what a migration would find in a database it has not connected to. Read it as “the decisions this
script would make”, not “everything that would change on this host”.The two refusals
Choosing a source at install time
--bootstrap populates a fresh database with the least that will start; --import brings an existing
file configuration in instead. See Choosing a source.
The first tariff
Ports, and a band
The two tokens
The installer generates both and writes them to the environment file.Log retention
--log-retain-days installs a daily systemd timer that deletes rotated logs, never touching the five
live ones. This is the only thing that ever removes httpapi.log — Quarkus rotates it daily and keeps
every file forever. A hand-built install must arrange this itself.
After it finishes
Exit code 4 means the deployment is sound but its own data is not — for example, nothing is
configured to route to. That is the expected result immediately after a
--bootstrap install, before
you add a vendor.The other verbs
Full option list at
fireflo-install.