Sync the self-hosting stack
This commit is contained in:
@@ -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