Before you begin
The release files are:
- the release itself,
fireflo-omni-<version>-single-amd64.tar.gzor…-arm64.tar.gz; SHA256SUMSandSHA256SUMS.asc, its checksum and FireFlo’s signature over it;SIGNING-KEY.asc, FireFlo’s public signing key;setup.sh, which installs the services OMNI needs on a fresh server.
Install
1
Copy the files to the server
2
Verify them
The checksum proves the download is intact; the signature proves it came from FireFlo.Check the key’s fingerprint rather than trusting the file beside the release:
3A9B 256F DE50 75CA 5F76 ADAF 42D7 A01A ED0D 03BA.3
Prepare the server
setup.sh installs PostgreSQL with pgvector and pg_trgm, and Redis. It creates no
database, role or password. --dry-run shows what it would do.4
Unpack and install
Type the two passwords at prompts and put them in an answers file only root can read,
so neither appears in the shell history or the process list:Then one command installs everything:Name the modules instead of
all to run only some, for example --modules sms,whatsapp,crm. A module that needs another brings it, and the installer says so.
A set that couldn’t start is refused before anything is installed.5
Put a reverse proxy in front
The installer writes no web-server configuration. The API and the panel listen only on
the server itself, and your reverse proxy forwards each domain to its port. The
installer prints the same list when it finishes.
For both domains:
- serve HTTPS only. The panel’s sign-in cookie is secure-only, so over plain HTTP nobody stays signed in;
- pass the
Hostheader through unchanged; - set
X-Forwarded-Proto: https,X-Forwarded-ForandX-Real-IP; - use HTTP/1.1 to the backend with a read timeout of at least 65 seconds, and leave redirects as they are.
6
Sign in
Open the panel’s domain and sign in as the admin address you gave. That login is
platform staff: it sees the Platform section, where you set up products, prices
and channel connections. See Running OMNI for your customers.
What the installer asks for
Anything you leave out is asked for, or read from an answers file given with--env-file (the release carries an example with every key). A flag given on the command
line wins over the same key in the file.
The database. With PostgreSQL on the same server, the installer creates the role and
the database when they’re missing, with both extensions. A role that already exists keeps
its password, so give the one it has. With PostgreSQL on another server, create the role,
the database and both extensions there first.
--no-create-db skips the creating
altogether.
Choose modules on the server
Upgrade to a new release
Copy the new release to the server, verify it as above, then:sudo fireflo-omni status shows what runs, and sudo fireflo-omni logs its recent logs.
ARM servers
The ARM release carries the panel ready to build rather than built, because the panel’s server packages are compiled for one processor type.install.sh builds it on the server
with the Node.js inside the release, which adds a few minutes to the install and to each
upgrade. Nothing else differs.
Without root
--user-mode --prefix ~/omni installs under your own home and runs OMNI as your user’s
services, with no root at all. It suits a trial or a staging server. The database must
already exist, because creating one needs PostgreSQL’s administrator.
Next
- Set up products, prices and the connections customers send through: Products and plans, Pricing and Channel connections.
- Give your panel your own domain and mail: Domains and email.