Install on a Mac
OpenBI Server runs on a Mac with Apple silicon as two launchd daemons, with the same commands as on Windows, run as sudo openbi-server. There is no IIS: the server answers on ports 80 and 443 itself, with certificates from Let’s Encrypt, or from its own certificate authority for a made-up domain.
| At a glance | Mac |
|---|---|
| Runs on | Apple silicon, macOS 14 (Sonoma) or later |
| Installer | OpenBI-Server-0.1.49-arm64.pkg, signed and notarized |
| Command line | openbi-server, with sudo, from any folder |
| Runs as | The launchd daemons no.norwayanalytics.openbi.server and no.norwayanalytics.openbi.accounts, as the hidden account _openbi |
| Its data | /Library/Application Support/OpenBI Server |
| Network | In: TCP 80 and 443, to the server itself. Out: HTTPS to api.keygen.sh and Let’s Encrypt, and with a seat licence to billing.querex.no |
Before you start
- The Mac: Apple silicon, macOS 14 or later, that stays on and awake, and an administrator who can use
sudo. - Your licence, for your domain: buy it on the setup page once the server is installed (see Buy OpenBI Server), or have its key at hand.
- Public DNS: bi.<your domain> and accounts.<your domain> pointing to the Mac, or to the router in front of it. See Your two addresses.
- Ports 80 and 443 reaching the Mac from the internet, forwarded by your router if there is one: Let’s Encrypt checks each address on port 80.
- Or, on your own network only, a made-up domain such as
openbi.home.arpa, with the server’s own certificates: see No domain yet: a made-up one.
Check the package
pkgutil must name the Developer ID Installer with Team ID 896HW73HL8, and spctl must answer accepted, source=Notarized Developer ID:
pkgutil --check-signature OpenBI-Server-0.1.49-arm64.pkg
spctl -a -vvv -t install OpenBI-Server-0.1.49-arm64.pkg
Install
Open the package and follow it, or install it from Terminal:
sudo installer -pkg OpenBI-Server-0.1.49-arm64.pkg -target /
The installer stops an earlier version’s daemons, puts the files in place, and starts the daemons. Its last page says what to do next: the licence, then doctor.
What it installs
| What | Where, and how |
|---|---|
| The program | /Library/OpenBI Server/: the server (with OpenBI Accounts and the command line in one program), the engine in engine/, the notices and the bill of materials (sbom.cdx.json, sbom.html). Nothing else to install: .NET comes inside. |
| The command | /usr/local/bin/openbi-server, a link to the program. |
| The services | Two launchd daemons, no.norwayanalytics.openbi.server and no.norwayanalytics.openbi.accounts (in /Library/LaunchDaemons/), started at boot and again whenever they stop, as the account _openbi: hidden, no shell, no home of its own, no password, made by the installer. |
| Its data | /Library/Application Support/OpenBI Server/, _openbi’s alone (700): licences, settings, records, published versions, certificates, logs. The key that seals its secrets on this Mac is in /Library/Application Support/OpenBI/, _openbi’s alone too. |
Add your domain’s licence
On the Mac itself, the setup page at http://localhost:5780/ buys a licence, and the server adds it by itself (see Buy OpenBI Server), or adds a key you have, under I have a license key. Or add the key with the command line. Without --key, it asks for the key, hidden:
sudo openbi-server domain add norwayanalytics.no
The server answers only for its licensed domains and their subdomains. See The licence.
HTTPS with Let’s Encrypt
The server opens ports 80 and 443 itself. For each address, a Let’s Encrypt certificate; --email is IT’s address, for Let’s Encrypt’s notices. Without --apply the command only checks and lists the steps: the name licensed, the front door on, the name reaching this Mac on port 80, and the certificate.
sudo openbi-server https letsencrypt --host bi.norwayanalytics.no --email it@norwayanalytics.no --apply
The server renews each certificate itself, a month before it runs out, and sends http:// to https:// as soon as a name has its certificate. sudo openbi-server https status shows each certificate and its end date. For a made-up domain, sudo openbi-server https local --domain <domain> --apply gives the server certificates from its own authority instead, which it renews itself: see No domain yet: a made-up one.
OpenBI Accounts and sign-in
sudo openbi-server accounts setup --public-url https://accounts.norwayanalytics.no --name "Norway Analytics AS"
sudo openbi-server accounts service restart
sudo openbi-server https letsencrypt --host accounts.norwayanalytics.no --email it@norwayanalytics.no --apply
sudo openbi-server signin use-accounts --server-url https://bi.norwayanalytics.no
sudo openbi-server service restart
E-mail for invitations (optional), as on Windows; the command asks for the client secret, hidden:
sudo openbi-server accounts mail set --graph --tenant <tenant id> --client-id <app id> --from support@norwayanalytics.no
sudo openbi-server accounts mail test --to it@norwayanalytics.no
Using Microsoft Entra ID, Okta or another OpenID Connect provider instead? See Your own sign-in provider.
The first administrator
sudo openbi-server accounts user invite --email kari@norwayanalytics.no --name "Kari Nordmann" --domain norwayanalytics.no
sudo openbi-server admin add --email kari@norwayanalytics.no
sudo openbi-server doctor
With e-mail set up, Kari gets her invitation by e-mail; without it, the command prints the link to give her. doctor checks macOS, the daemons and the data folder, the licences and Keygen, the clock, OpenBI Accounts and the sign-in, the engine, the bill of materials, ports 80 and 443, each certificate and the macOS firewall, and gives each problem the command that fixes it.
The services and their logs
sudo openbi-server status
sudo openbi-server service restart
sudo openbi-server accounts service restart
sudo openbi-server logs --lines 100
The logs are in the data folder’s logs/: the server’s and OpenBI Accounts’ own (server-…, accounts-…), and what each daemon printed as it started (launchd-server.log, launchd-accounts.log), which is where to look when one won’t start.
Differences from Windows
| Windows | Mac | |
|---|---|---|
| The command | OpenBI.Server.exe, as administrator | sudo openbi-server |
| In front | IIS (iis setup) | The server itself, on ports 80 and 443. No iis commands |
| Certificates | Let’s Encrypt through win-acme, your own in IIS, or the server’s own (https local, renewed by a scheduled task) | Let’s Encrypt, or the server’s own (https local), each renewed by the server |
| HTTP to HTTPS | https redirect --apply | By itself, once a name has its certificate |
| Firewall | firewall --apply opens 80 and 443 | The macOS firewall lets the signed server in; doctor says whether it is on |
| Services | Windows services, virtual accounts | launchd daemons, the account _openbi |
| Secrets sealed with | Windows’ DPAPI, for the machine | A key of the Mac’s own, readable by _openbi only |
| Engine limits at install | MSI properties, or engine limits | sudo openbi-server engine limits, then service restart |
| The setup page | Opens at the end of the MSI | At http://localhost:5780/ on the Mac itself, to buy or add a licence, until sign-in is set up; or domain add |
Everything else, the portal, workspaces, publishing, refresh, Excel and the cluster, works the same on both.
Frequently asked questions
Can a Mac serve the office only, with internal DNS?
Yes, from 0.1.49, with the server’s own certificate authority, https local, which each device trusts once: see No domain yet: a made-up one. It is made for a made-up domain, and serves a real domain’s names too. OpenBI has no command to put a certificate from your company’s own authority on a Mac’s front door: for that, use Windows (see Office only, with internal DNS).
Does the Mac have to stay awake?
Yes, as any server: a sleeping Mac answers no one, and runs no scheduled refresh. A schedule time missed by more than an hour is skipped, not run late.
How do we upgrade?
Install the newer package over it, the same way. The data folder stays. See Upgrade and rollback.