Sync the self-hosting stack
This commit is contained in:
+10
-8
@@ -138,17 +138,19 @@ OPENAI_API_KEY=
|
||||
#RUN_SHUTDOWN_GRACE_SEC=25
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Licence (required to create anything)
|
||||
# Licence (optional — without one you get the community edition)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Your licence key. REQUIRED to create anything new. Ask antoine@luxit.be for one.
|
||||
# Leave this empty and the instance runs the COMMUNITY EDITION: 1 organization, 3 users, 5 agents,
|
||||
# 10 assets, no expiry, nothing to renew, and nothing reported to anybody. Every feature works inside
|
||||
# those numbers. A full limit refuses the NEXT thing of that kind and touches nothing already there.
|
||||
#
|
||||
# Without it, an instance keeps running everything already set up and refuses to create new
|
||||
# organizations, users, agents and assets — so an existing deployment does not stop working when
|
||||
# this reaches it, and a fresh install gets as far as its first administrator and then needs a key.
|
||||
# An unlicensed instance also contacts nobody at all. See the README for exactly what a licensed one
|
||||
# reports.
|
||||
# A key raises the limits — ask antoine@luxit.be for one. It is verified offline, on this machine. A
|
||||
# licensed instance then reports counts and its own address to your provider; the README lists every
|
||||
# field it sends. A key that expires or is withdrawn drops back to the allowances above, never to
|
||||
# nothing.
|
||||
#
|
||||
# This value SEEDS the database on first boot and does not govern it afterwards: a renewal arrives
|
||||
# through the check-in and is stored, so leaving an old key here cannot roll you back.
|
||||
# through the check-in and is stored, so leaving an old key here cannot roll you back. To replace a
|
||||
# key, use Settings → Licence.
|
||||
#JARVIS_LICENSE_KEY=
|
||||
|
||||
@@ -9,6 +9,35 @@ 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
|
||||
cannot be published without its entry.
|
||||
|
||||
## api 0.83.0 · web 0.104.0 — 2026-08-21
|
||||
|
||||
**Jarvis no longer needs a licence key to be useful.** An instance without one now runs the
|
||||
**community edition** — 1 organization, 3 users, 5 agents, 10 assets — perpetually, free, with every
|
||||
feature working and nothing reported to anybody. Install it, connect it to something real, and see
|
||||
what it does before there is anyone to talk to. A licence raises those limits; it does not switch the
|
||||
product on.
|
||||
|
||||
This replaces the behaviour of the last three days, where an instance with no key came up, accepted
|
||||
its first administrator account and then refused everything else. **If you installed Jarvis and found
|
||||
it would not let you create anything, this is the release that fixes it** — upgrade, and the
|
||||
allowances above apply immediately. Nothing needs to be reset, re-run or re-entered.
|
||||
|
||||
**A licence that stops applying now falls back to the same allowances**, instead of refusing every
|
||||
creation. Expired, withdrawn, or a key that will not verify: your instance keeps running everything
|
||||
already set up and may still create up to the community numbers. There is no state left in which
|
||||
Jarvis stops being usable over a billing question.
|
||||
|
||||
**Fixed: an unreadable licence key blocked every creation.** The licence screen said nothing was
|
||||
being withheld, and something was — a key that lost a character in a paste resolved every limit to
|
||||
zero. It now falls back to the community allowances, which is what the screen always claimed.
|
||||
|
||||
**On the licence screen**, a fresh install no longer shows a red "No licence" badge. It says
|
||||
Community edition, lists what that allows against what you use, and states plainly that nothing is
|
||||
reported. The refusal you get when a limit is full names the edition and what raises it.
|
||||
|
||||
Nothing else changes. No configuration, no migration, no new variable — `JARVIS_LICENSE_KEY` is now
|
||||
documented as optional, and it always could be left empty.
|
||||
|
||||
## api 0.82.0 · web 0.103.0 · agent 0.27.0 — 2026-08-21
|
||||
|
||||
**Nothing changes in what these builds do.** They are identical in behaviour to api 0.81.0,
|
||||
|
||||
@@ -17,6 +17,11 @@ The difference from an assistant that writes commands for you to paste is that t
|
||||
This repository runs Jarvis from published container images — no source, no build, no account with
|
||||
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.
|
||||
|
||||
- [What it does](#what-it-does)
|
||||
- [What decides whether a tool call runs](#what-decides-whether-a-tool-call-runs)
|
||||
- [What it looks like](#what-it-looks-like)
|
||||
@@ -30,6 +35,7 @@ the project.
|
||||
- [When it does not come up](#when-it-does-not-come-up)
|
||||
- [Backups, and restoring one](#backups-and-restoring-one)
|
||||
- [Removing it](#removing-it)
|
||||
- [The community edition](#the-community-edition)
|
||||
- [Licence keys, and what your instance reports](#licence-keys-and-what-your-instance-reports)
|
||||
- [Getting a licence, and getting help](#getting-a-licence-and-getting-help)
|
||||
|
||||
@@ -154,8 +160,8 @@ inventory on every heartbeat.
|
||||
- A hostname and a TLS terminator in front of it. Jarvis speaks plain HTTP and does not manage
|
||||
certificates.
|
||||
- An API key for an OpenAI-compatible endpoint. The api will not start without one.
|
||||
- A licence key. See [Licence keys](#licence-keys-and-what-your-instance-reports) — without one an
|
||||
instance runs but creates nothing new.
|
||||
- **No licence key.** Jarvis runs the [community edition](#the-community-edition) out of the box; a
|
||||
key raises the limits when you outgrow them.
|
||||
- Roughly 2 GB of RAM for the stack and room for Postgres to grow.
|
||||
|
||||
## Install
|
||||
@@ -363,7 +369,7 @@ so a first-boot failure is almost always one line of `.env`:
|
||||
| The sign-in page loads but cannot sign in | `WEB_ORIGIN` is not the address the browser used, scheme included. It accepts one origin, not a list. |
|
||||
| Chat never answers and nothing streams | The WebSocket upgrade is not being forwarded. |
|
||||
| An answer dies part-way through, every time | The proxy's read timeout is too short. |
|
||||
| Everything works but nothing can be created | No licence key. See below. |
|
||||
| Everything works but one kind of thing cannot be created | A limit is full — the community edition's, or your licence's. The message names which. See below. |
|
||||
| An agent installer answers 503 | No agent build is published — the overlay is off. That is a supported state. |
|
||||
|
||||
The api takes about a minute on first boot, syncing the schema before it listens. `docker compose ps`
|
||||
@@ -406,19 +412,51 @@ docker compose down -v # also deletes the volumes — every conversation,
|
||||
|
||||
`down -v` is not recoverable from anything but a dump you already took.
|
||||
|
||||
## The community edition
|
||||
|
||||
**Jarvis runs without a licence key, for as long as you like.** An instance with no key runs the
|
||||
community edition:
|
||||
|
||||
| | Community edition |
|
||||
| --- | --- |
|
||||
| Organizations | 1 |
|
||||
| Users | 3 |
|
||||
| Agents | 5 |
|
||||
| Assets | 10 |
|
||||
| Term | Perpetual. No expiry, nothing to renew, no key to lose |
|
||||
| Reporting | None. Nothing leaves your network, ever |
|
||||
| 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
|
||||
the product: the same images, the same code, larger numbers. This is deliberate and it is the reason
|
||||
the images are public — you should be able to install Jarvis, connect it to something real, and find
|
||||
out whether it earns a place in your work before there is anybody to talk to.
|
||||
|
||||
When a limit is full, Jarvis refuses **the next** thing of that kind and says which limit it was.
|
||||
Nothing already there is touched: no organization is closed, no user locked out, no agent
|
||||
disconnected, and the assistant keeps working on everything you have. So an instance that grows past
|
||||
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.
|
||||
|
||||
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)).
|
||||
|
||||
## Licence keys, and what your instance reports
|
||||
|
||||
**Jarvis needs a licence key.** Ask for one (see [below](#getting-a-licence-and-getting-help)) and
|
||||
put it in `.env` as `JARVIS_LICENSE_KEY`. The key is a signed token your instance verifies
|
||||
**offline** — it carries your term and your limits, and it needs no network to be checked.
|
||||
**A licence key raises the limits.** Ask for one (see
|
||||
[below](#getting-a-licence-and-getting-help)) and put it in `.env` as `JARVIS_LICENSE_KEY`, or paste
|
||||
it under **Settings → Licence**. The key is a signed token your instance verifies **offline** — it
|
||||
carries your term and your limits, and it needs no network to be checked.
|
||||
|
||||
Without one, an instance keeps running everything already set up — every organization, every user,
|
||||
every agent, every asset, and the assistant itself — and refuses only to create NEW ones: no new
|
||||
organization, user, agent or asset. So an existing deployment does not stop working when this reaches
|
||||
it, and a fresh install gets as far as its first administrator account and then needs a key.
|
||||
|
||||
**An unlicensed instance contacts nobody.** No check-in, no telemetry, nothing leaves your network at
|
||||
all. The reporting below starts only once a key is in place.
|
||||
**A licence that stops applying drops back to the community edition**, and never to nothing. Expired,
|
||||
withdrawn, or a key that will not verify: the instance keeps every allowance in the table above and
|
||||
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
|
||||
@@ -444,17 +482,19 @@ licensed instance it is sent.** It used to be a switch on the licence screen; it
|
||||
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 run unlicensed — which contacts nobody at all — or to take it up with us before installing.
|
||||
to stay on the community edition — which contacts nobody at all — or to take it up with us before
|
||||
installing.
|
||||
|
||||
The reply can carry a renewed key, which your instance adopts on its own — so a renewal reaches you
|
||||
without anybody re-pasting anything.
|
||||
|
||||
**Your platform does not stop working because of a licence.** Expiry gives you a grace period — as
|
||||
long as your key says, which on the current plans is 30 days, and none at all on a trial. After it,
|
||||
Jarvis refuses only the creation of new organizations, users, agents and assets; everything already
|
||||
set up keeps running, and so does the assistant. There is no state in which Jarvis disables, deletes
|
||||
or locks you out of something you are already using. If the check-in cannot reach the server, nothing
|
||||
changes at all: the key you hold is what governs, and it is checked without a network.
|
||||
the instance returns to the community edition's allowances: everything already set up keeps running,
|
||||
the assistant included, and only creating something beyond those numbers is refused. There is no
|
||||
state in which Jarvis disables, deletes or locks you out of something you are already using. If the
|
||||
check-in cannot reach the server, nothing changes at all: the key you hold is what governs, and it is
|
||||
checked without a network.
|
||||
|
||||
## Getting a licence, and getting help
|
||||
|
||||
|
||||
Reference in New Issue
Block a user