Sync the self-hosting stack

This commit is contained in:
2026-08-21 17:08:12 +02:00
parent e8a357bb2a
commit 4fa9cabefb
3 changed files with 121 additions and 22 deletions
+70 -21
View File
@@ -18,9 +18,14 @@ This repository runs Jarvis from published container images — no source, no bu
the project.
**And no licence key.** A fresh install comes up on the **community edition**: one organization,
three users, five agents, ten assets, no expiry, nothing to renew, and nothing reported to anybody.
Everything Jarvis does works inside those numbers — every connector, the agent, the remote terminal,
the assistant itself. A licence from your provider raises the limits; it does not switch anything on.
three users, five agents, ten assets, no expiry, nothing to renew. Everything Jarvis does works
inside those numbers — every connector, the agent, the remote terminal, the assistant itself. A
licence from your provider raises the limits; it does not switch anything on.
When you outgrow it, **ask for a licence from inside Jarvis** — Settings → Licence — and the key
arrives on your instance by itself. A community instance reports its version and its counts so that
we can see which builds are in the field; [what it sends](#licence-keys-and-what-your-instance-reports)
is listed in full below, and `JARVIS_TELEMETRY=off` stops it without costing you anything.
- [What it does](#what-it-does)
- [What decides whether a tool call runs](#what-decides-whether-a-tool-call-runs)
@@ -37,6 +42,7 @@ the assistant itself. A licence from your provider raises the limits; it does no
- [Removing it](#removing-it)
- [The community edition](#the-community-edition)
- [Licence keys, and what your instance reports](#licence-keys-and-what-your-instance-reports)
- [Asking for a licence](#asking-for-a-licence)
- [Getting a licence, and getting help](#getting-a-licence-and-getting-help)
## What it does
@@ -424,7 +430,7 @@ community edition:
| Agents | 5 |
| Assets | 10 |
| Term | Perpetual. No expiry, nothing to renew, no key to lose |
| Reporting | None. Nothing leaves your network, ever |
| Reporting | Version, counts and address — the same fields a licensed instance sends. Switchable off |
| Features | All of them — every connector, the agent, the remote terminal, the assistant |
Nothing is disabled, watermarked or time-limited. What a licence buys is a **higher ceiling**, not
@@ -438,13 +444,28 @@ disconnected, and the assistant keeps working on everything you have. So an inst
the community numbers — through an imported estate, say — keeps running in full; it simply cannot
add to that meter until a key raises it.
**A community instance contacts nobody.** No check-in, no telemetry, no licence server, no counting.
The reporting described below begins only once a key is in place, and never before. One consequence
we accept knowingly: we cannot tell how many community instances exist. If Jarvis is useful to you,
the only way we find out is if you say so.
### What changed on 21 August 2026, and why we are saying it loudly
To go further — more organizations for a real client base, more seats, more machines — ask for a key
(see [below](#getting-a-licence-and-getting-help)).
**Until this release, a community instance contacted nobody at all**, and this file said so in those
words. That is no longer true: an instance without a licence now reports the same fields a licensed
one does — counts, version, contract checksum and its public address — to `checkin.luxit.be`, which
is compiled into the build because an instance with no licence has no address in one to read.
We changed it for two reasons, and neither of them is nicer for you than for us. We could not tell
whether the community edition was reaching anybody, or which builds were running when we needed to
warn people about one. And the licence request below needs the same channel — a form that could not
reach us would just be an email with extra steps.
**`JARVIS_TELEMETRY=off` in `.env` stops it completely.** You keep every community allowance, every
feature and every machine; what you lose is the request form, and our ability to know you exist. That
is a fair trade and we would rather you took it than felt watched.
Everything in the next section applies to a community instance as well: the field list is the whole
field list, and it is the same one.
To go further — more organizations for a real client base, more seats, more machines — ask for a
licence from **Settings → Licence** inside your own instance. That form is signed by your
installation, so an approved licence lands on it by itself, with nothing to paste.
## Licence keys, and what your instance reports
@@ -458,14 +479,17 @@ withdrawn, or a key that will not verify: the instance keeps every allowance in
keeps running everything already set up. There is no state in which Jarvis stops being usable because
of a billing question, and there never will be.
A licensed instance then reports to the address written into that key, at an interval your provider
sets — every ten minutes on the current arrangement, so that a renewal or a revocation reaches you
promptly rather than tomorrow. This is everything it sends, in full:
**Every instance reports**, licensed or not. A licensed one reports to the address written into its
key; a community one to `checkin.luxit.be`, compiled into the build. The interval is your provider's
to set — every ten minutes on the current arrangement, so that a renewal or a revocation reaches you
promptly rather than tomorrow.
This is everything either of them sends, in full:
| Field | What it is |
| ------------------------ | ------------------------------------------------- |
| Product | The literal string `jarvis` |
| Licence id | Which licence this is |
| Licence id | Which licence this is. **Absent on a community instance** — there is none to quote |
| Instance id + public key | A key pair your instance generated, identifying it |
| Version | Which Jarvis build you are running |
| Contract version | Which set of limits this build understands — a checksum, not a document |
@@ -477,13 +501,17 @@ promptly rather than tomorrow. This is everything it sends, in full:
**Counts, not contents.** No names, no email addresses, no conversation text, no asset inventory, no
credentials, nothing about what you administer.
**The public URL is the one field that names your network rather than measuring something, and on a
licensed instance it is sent.** It used to be a switch on the licence screen; it is not any more,
because an installation the publisher can identify only by a fingerprint is one where "which of these
is the customer calling about" has no answer. The screen shows you the exact address that leaves,
under **Settings → Platform → Licence**. If that is not acceptable for your deployment, the answer is
to stay on the community edition — which contacts nobody at all — or to take it up with us before
installing.
**The public URL is the one field that names your network rather than measuring something, and it is
sent.** It used to be a switch on the licence screen; it is not any more, because an installation the
publisher can identify only by a fingerprint is one where "which of these is the customer calling
about" has no answer. The screen shows you the exact address that leaves, under **Settings →
Licence**.
**The whole of it is switchable off, and only on a community instance**: set `JARVIS_TELEMETRY=off`
in `.env` and nothing leaves your network at all. A licensed instance always reports — that is part
of what a licence is, and the licence screen says so rather than offering a switch that would make
the arrangement a matter of opinion. If neither suits your deployment, take it up with us before you
buy anything.
The reply can carry a renewed key, which your instance adopts on its own — so a renewal reaches you
without anybody re-pasting anything.
@@ -496,6 +524,27 @@ state in which Jarvis disables, deletes or locks you out of something you are al
check-in cannot reach the server, nothing changes at all: the key you hold is what governs, and it is
checked without a network.
## Asking for a licence
**From inside your own instance: Settings → Licence → Ask for a licence.** Fill in who you are — a
company name and somebody to answer are the only required fields — roughly what you need, and send.
What makes this worth doing from in there rather than by email: the form is **signed by your
installation**, so when your provider approves it, the licence is issued for that exact deployment
and **lands on it by itself at the next report**. There is no key to copy, nothing to paste, and no
way to paste it into the wrong instance. You get the key by email as well, for your records and in
case you rebuild the host before the answer arrives.
Sent with the form: your instance's id, its version, what it currently counts, and its address. That
is the same information it already reports, so the form adds only what you typed.
While it is pending, the licence screen says so. If your provider declines, their reason appears on
that screen and in your inbox — and you can ask again from the same button whenever something has
changed. You can also withdraw a request you no longer want.
If you have turned reporting off, the form cannot reach anybody and says so. Write to the address
below instead, quoting the instance id from the licence screen.
## Getting a licence, and getting help
**Antoine Cavelier — <antoine@luxit.be>.** Licence keys, pricing, and anything wrong with the