Sync the self-hosting stack
This commit is contained in:
@@ -235,26 +235,3 @@ JARVIS_PORT=8080
|
|||||||
# through the check-in and is stored, so leaving an old key here cannot roll you back. To replace a
|
# through the check-in and is stored, so leaving an old key here cannot roll you back. To replace a
|
||||||
# key, use Settings → Licence.
|
# key, use Settings → Licence.
|
||||||
#JARVIS_LICENSE_KEY=
|
#JARVIS_LICENSE_KEY=
|
||||||
|
|
||||||
# Whether an instance WITHOUT a licence reports to your provider. On unless you say otherwise.
|
|
||||||
#
|
|
||||||
# It sends the same fields a licensed instance does — counts, the version it runs, its contract
|
|
||||||
# checksum and its public address — to checkin.luxit.be. No names, no conversation content, nothing
|
|
||||||
# about what you administer. The README lists every field.
|
|
||||||
#
|
|
||||||
# Set it to off and nothing leaves this network at all. You keep every community allowance and every
|
|
||||||
# feature; what stops working is the licence request form in Settings → Licence, which needs the same
|
|
||||||
# channel. Accepted values for off: off, false, 0, no.
|
|
||||||
#
|
|
||||||
# A LICENSED instance reports regardless — that is part of what a licence is, and this variable does
|
|
||||||
# not change it.
|
|
||||||
# NOTE, 24 August 2026: this line did nothing before that date, and we are sorry. Compose reads
|
|
||||||
# this file to fill in placeholders INSIDE the compose file — it does not hand it to the services —
|
|
||||||
# and the api service never listed this variable, so the API saw nothing and applied its default of
|
|
||||||
# "on". An instance that had opted out reported anyway. Pull the repository again and
|
|
||||||
# `docker compose up -d`: the fix is in the compose file, not in the images.
|
|
||||||
#
|
|
||||||
# Do not trust this file to tell you whether it took. Ask the instance:
|
|
||||||
# docker compose exec api printenv JARVIS_TELEMETRY
|
|
||||||
# Settings -> Licence answers the same question from what the API actually resolved.
|
|
||||||
#JARVIS_TELEMETRY=on
|
|
||||||
|
|||||||
@@ -9,6 +9,55 @@ one of them changed. An entry says which artefact and which version, so `web 0.1
|
|||||||
Every version published to a channel appears here. Nothing is written from memory afterwards: a build
|
Every version published to a channel appears here. Nothing is written from memory afterwards: a build
|
||||||
cannot be published without its entry.
|
cannot be published without its entry.
|
||||||
|
|
||||||
|
## 2026-08-24 — Reporting is no longer optional `api 0.90.0` `web 0.114.0`
|
||||||
|
|
||||||
|
**`JARVIS_TELEMETRY` is gone, and with it the ability to stop your instance checking in.** Three days
|
||||||
|
ago this repository told you the variable worked, and apologised for the fact it had not. We are
|
||||||
|
withdrawing the option rather than leaving you to discover it stopped working: it is removed from the
|
||||||
|
compose file, from `.env.example`, from the licence screen and from the install wizard, which is
|
||||||
|
nine steps now instead of ten.
|
||||||
|
|
||||||
|
The reason is the one already written down for why a community instance reports at all. A free tier
|
||||||
|
the publisher cannot see is a free tier nobody can warn — and the instances that opt out are exactly
|
||||||
|
the ones most likely to be running an old build unattended, which is the population a warning is for.
|
||||||
|
|
||||||
|
**What has not changed is what leaves your network, or your ability to see it.** The field list below
|
||||||
|
is complete and unchanged: your instance id and public key, the version and contract hash it runs,
|
||||||
|
its public address, and counts of organizations, users, agents and assets. No names, no conversation
|
||||||
|
content, nothing about the machines you administer. **Settings → Licence** shows you the address and
|
||||||
|
the contents resolved by your own running instance, which is the answer that matters rather than
|
||||||
|
anything this document says.
|
||||||
|
|
||||||
|
If that does not suit your deployment, tell us before you deploy — we would rather have the
|
||||||
|
conversation than have you find out from a packet capture.
|
||||||
|
|
||||||
|
### Also in this release
|
||||||
|
|
||||||
|
**The sign-in field is off on a new installation.** The orb you press and hold to reveal the sign-in
|
||||||
|
form is a deliberate piece of the product, and it is no longer what a brand-new instance greets you
|
||||||
|
with — a first-time deployer meeting an unlabelled glowing hexagon has a puzzle rather than a login.
|
||||||
|
Turn it on under **Settings → Platform → Sign-in**; instances that already have it keep it.
|
||||||
|
|
||||||
|
## 2026-08-24 — "Open Jarvis" sent you back to the install screen `web 0.113.0`
|
||||||
|
|
||||||
|
**If you installed on web 0.112.0, the last click of the wizard put you in a loop.** You finished,
|
||||||
|
pressed **Open Jarvis**, and landed back on the install screen reading "This instance already has an
|
||||||
|
administrator" — with a button to sign in that bounced you to the console, which sent you back to the
|
||||||
|
install screen again. Nothing was wrong with your instance and nothing was lost; a reload of the page
|
||||||
|
was enough to break out of it. It was still the worst possible moment for it, on the one screen a
|
||||||
|
new deployer meets exactly once.
|
||||||
|
|
||||||
|
The console asks "does this instance need installing" once, when the page first loads, and it had no
|
||||||
|
way to learn the answer had changed under it — so at the end of the wizard it was still acting on
|
||||||
|
what it had been told before you started. The wizard now tells it.
|
||||||
|
|
||||||
|
Upgrade with the usual two lines:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker compose pull
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
## 2026-08-24 — The claim no longer expires `api 0.89.0` `web 0.112.0`
|
## 2026-08-24 — The claim no longer expires `api 0.89.0` `web 0.112.0`
|
||||||
|
|
||||||
**The thirty-minute window on the install screen is gone.** There is no countdown, no "the window
|
**The thirty-minute window on the install screen is gone.** There is no countdown, no "the window
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ 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
|
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
|
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)
|
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.
|
is listed in full below.
|
||||||
|
|
||||||
- [What it does](#what-it-does)
|
- [What it does](#what-it-does)
|
||||||
- [What decides whether a tool call runs](#what-decides-whether-a-tool-call-runs)
|
- [What decides whether a tool call runs](#what-decides-whether-a-tool-call-runs)
|
||||||
@@ -646,24 +646,12 @@ whether the community edition was reaching anybody, or which builds were running
|
|||||||
warn people about one. And the licence request below needs the same channel — a form that could not
|
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.
|
reach us would just be an email with extra steps.
|
||||||
|
|
||||||
**`JARVIS_TELEMETRY=off` in `.env` stops it completely.** You keep every community allowance, every
|
**Reporting is part of running Jarvis, and there is no switch.** Every instance checks in —
|
||||||
feature and every machine; what you lose is the request form, and our ability to know you exist. That
|
community or licensed, the same fields either way — because it is the only way we see which builds
|
||||||
is a fair trade and we would rather you took it than felt watched.
|
are in the field when one of them turns out to need a warning, and because the licence request form
|
||||||
|
below travels the same channel. What leaves is listed field by field in the next section, and
|
||||||
> **This did not work before 24 August 2026, and we are sorry.** The line was read from `.env` by
|
**Settings → Licence** shows you the exact address and the exact contents from the running instance
|
||||||
> compose — which uses that file to fill in placeholders inside the compose file, not to hand values
|
rather than from this document.
|
||||||
> to the services — and the `api` service never listed the variable, so the API saw nothing and
|
|
||||||
> applied its default of "on". An instance that had opted out reported anyway. Pull this repository
|
|
||||||
> again and `docker compose up -d`; the fix is in the compose file, not in the images.
|
|
||||||
>
|
|
||||||
> **Do not trust a file to tell you.** Ask the instance:
|
|
||||||
>
|
|
||||||
> ```sh
|
|
||||||
> docker compose exec api printenv JARVIS_TELEMETRY
|
|
||||||
> ```
|
|
||||||
>
|
|
||||||
> No output means it still has not landed. **Settings → Licence** answers the same question on
|
|
||||||
> screen, from what the API actually resolved — which is why that screen exists.
|
|
||||||
|
|
||||||
Everything in the next section applies to a community instance as well: the field list is the whole
|
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.
|
field list, and it is the same one.
|
||||||
@@ -712,11 +700,10 @@ publisher can identify only by a fingerprint is one where "which of these is the
|
|||||||
about" has no answer. The screen shows you the exact address that leaves, under **Settings →
|
about" has no answer. The screen shows you the exact address that leaves, under **Settings →
|
||||||
Licence**.
|
Licence**.
|
||||||
|
|
||||||
**The whole of it is switchable off, and only on a community instance**: set `JARVIS_TELEMETRY=off`
|
**There is no way to switch this off**, on a community instance or a licensed one. It is the same
|
||||||
in `.env` and nothing leaves your network at all. A licensed instance always reports — that is part
|
report either way, and the licence screen states it rather than offering a control that would make
|
||||||
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 that does not suit your deployment, take it up with us before
|
||||||
the arrangement a matter of opinion. If neither suits your deployment, take it up with us before you
|
you deploy anything.
|
||||||
buy anything.
|
|
||||||
|
|
||||||
The reply can carry a renewed key, which your instance adopts on its own — so a renewal reaches you
|
The reply can carry a renewed key, which your instance adopts on its own — so a renewal reaches you
|
||||||
without anybody re-pasting anything.
|
without anybody re-pasting anything.
|
||||||
|
|||||||
@@ -186,19 +186,6 @@ services:
|
|||||||
# everything it already has, creates nothing new, and contacts nobody. See the README.
|
# everything it already has, creates nothing new, and contacts nobody. See the README.
|
||||||
JARVIS_LICENSE_KEY: ${JARVIS_LICENSE_KEY:-}
|
JARVIS_LICENSE_KEY: ${JARVIS_LICENSE_KEY:-}
|
||||||
|
|
||||||
# WHETHER ANYTHING LEAVES THIS NETWORK, and it has to be passed explicitly — this line is the
|
|
||||||
# whole control. It was missing until 24 August 2026, and its absence made a published promise
|
|
||||||
# false: `.env` is read by compose for `${...}` INTERPOLATION ONLY, never injected into a
|
|
||||||
# container, and no `env_file` makes up the difference. So an operator who wrote
|
|
||||||
# `JARVIS_TELEMETRY=off` in `.env` — exactly as the README, the changelog and `.env.example` all
|
|
||||||
# told them to — was reporting to the publisher the entire time, because the api saw nothing
|
|
||||||
# and applied its default of "on".
|
|
||||||
#
|
|
||||||
# Defaulted to the word rather than to empty, deliberately. The schema defaults an ABSENT
|
|
||||||
# value to "on", but `${VAR:-}` passes an empty STRING, which is present — the same trap that
|
|
||||||
# killed WEB_ORIGIN on a zero-config boot. Passing "on" means the container never has to
|
|
||||||
# reason about the difference.
|
|
||||||
JARVIS_TELEMETRY: ${JARVIS_TELEMETRY:-on}
|
|
||||||
# Which distribution channel this instance follows, shown to signed-in operators beside the
|
# Which distribution channel this instance follows, shown to signed-in operators beside the
|
||||||
# version numbers. Set `JARVIS_CHANNEL=stable` (or `dev`) in .env if you track a channel;
|
# version numbers. Set `JARVIS_CHANNEL=stable` (or `dev`) in .env if you track a channel;
|
||||||
# LEAVE IT EMPTY IF YOU PIN EXACT VERSIONS, because then you follow no channel — you follow a
|
# LEAVE IT EMPTY IF YOU PIN EXACT VERSIONS, because then you follow no channel — you follow a
|
||||||
|
|||||||
Reference in New Issue
Block a user