fireflo-install installs the gateway. It does not install the services the gateway talks to —
its package step adds the PostgreSQL client and no server, and never mentions a broker. So on a
bare host there is a step between unpacking the tarball and running the installer.
setup.sh is that step. It lives in the
release repository, not inside the tarball, so it
can be read before anything is downloaded.
Read it before you run it. It is one plain shell file with no network fetch except the NodeSource
and Adoptium installers it names, and you are about to run it as root.
setup.sh is not signed — it is a script in the release repository rather than a build artefact.
The release tarballs are signed from 0.9.0 onward; verify one with gpg --verify SHA256SUMS.asc SHA256SUMS before installing.What it installs
Java is off by default because the shipped gateway is a native binary and opens no JDK.
fireflo-install says so itself and skips it. Pass --with-java only if you intend to build from
source; it adds the Adoptium repository and temurin-25-jdk.
What it deliberately does not do
fireflo-install the password in a file, never as an argument — an argument is a
password in your shell history and in the output of ps:
guest account, which the broker itself restricts to loopback —
the correct default, and the only one that needs no secret. To use it:
fireflo-install’s, which does them carefully.
Where it refuses
It refuses rather than improvising, in three places, and each refusal is cheaper than what it prevents.An unrecognised distribution release
An unrecognised distribution release
NodeSource and Adoptium publish per codename. Writing an apt source for a suite they do not
publish does not fail at the time — it fails at the next
apt update, for every package on the host,
and is found weeks later by somebody who never ran this script.Known: Ubuntu focal, jammy, noble, plucky; Debian bullseye, bookworm, trixie. Anything
else is a refusal naming what to install by hand.PostgreSQL older than 14
PostgreSQL older than 14
Debian 11 ships PostgreSQL 13. Installing it would give you a server the migrations fail against
partway through, which leaves a half-migrated database rather than a clean refusal. The script
names PGDG instead.An existing server below 14 is also a refusal: upgrading a server with data on it is not something a
setup script should do to you.
Not Ubuntu or Debian
Not Ubuntu or Debian
Everything it does is a plain
apt install. On another distribution, do it by hand — the header of
the script lists exactly what.Running it in a container
A host with no systemd — a Docker build, a chroot, an LXC container — cannot enable a service. The script reports that, installs the packages anyway, and carries on; start them yourself, or enable them when the image is booted.Then
1
Create the database
Per above. The script does not.
2
Check the host
Ready.3
Confirm the gateway can reach the database
fireflo-install check in file mode never opens the database at all.4
Install