License
The License screen (Admin → License, /admin/license) shows whether the installation has a
valid cyrock.ai license, and how current usage compares to the licensed feature limits.
Requires CONFIG_VIEW to open and CONFIG_MANAGE to paste or change a key. Without
CONFIG_MANAGE the key field is read-only and the Save button is hidden.
1. A license is required
There is no free tier. Without a valid license key you can still log in, look at everything and manage users, roles and admin settings — but you cannot:
-
create a Topic, GraphRAG Topic, Agent or Pipeline,
-
import pipelines (and the example pipelines are not added on first start),
-
start a Topic, GraphRAG Topic, Agent, AI Server or Docling Server.
Each of these actions is refused with "There is no valid license. Enter a license key under Admin → License, or contact cyrock.ai."
Topics, GraphRAG Topics and Agents also check the license themselves when they start: their container receives the platform’s key and stops right away without a valid one. You do not need to configure anything for this — the platform hands its key to every container it starts.
|
Validation is fully offline. The key is verified cryptographically against a built-in trust store; the platform never contacts a licensing server, so an air-gapped installation works normally. |
2. What a license contains
| Part | Meaning |
|---|---|
Licensee |
The e-mail address the license was issued to |
Valid through |
The last day the license is valid, or none for a license without end date. Evaluation licenses always have one |
Feature limits |
How many of each resource you may create (see below) |
The limits a license can grant:
| Feature | Limits |
|---|---|
|
Topics |
|
GraphRAG Topics |
|
Agents |
|
Pipelines — including imported ones |
A limit the license does not name is 0: you cannot create that kind of resource at all. If, for
example, your license has no agent-count, the Agents list refuses New Agent with "Your license
does not include agents." Ask cyrock.ai for a license that includes it.
3. The three sections
License Key
A text area for the key, plus Save. Keys start with CY-….
Paste the key you received and click Save. The platform immediately re-validates and the page refreshes with the new status — no restart needed.
Leaving the field empty is meaningful: the platform then falls back to a chain of external sources (see Where the key comes from), which is how a key can be injected by the deployment instead of typed into the UI.
Status
| Element | Meaning |
|---|---|
Valid (green) / Invalid (red) |
Whether a usable license was found |
Reason text |
Why — for example no key found, signature invalid, expired, wrong product |
Licensee |
The e-mail address the license was issued to (only when valid) |
Valid through |
The last day of the license, or Never expires (only when valid) |
While the status is Invalid, the screen also says what is blocked: nothing can be created, imported or started until a valid key is in place.
4. Where the key comes from
The platform looks for a key in this order and uses the first one it finds:
| # | Source | Typical use |
|---|---|---|
1 |
The key stored via this screen |
Normal case — an admin pastes it once |
2 |
|
Container deployments; inject via |
3 |
|
|
4 |
A license file — |
Mounting the key as a file rather than an env var |
5 |
A |
Pre-licensed custom builds |
|
A key saved in the UI wins over all of them. If you set |
For the Docker Compose setup, CYROCK_LICENSE_KEY in the .env file is the intended place for the
key — see the installation guide. Wherever the key comes from, the platform passes the same key on to
the Topic, GraphRAG Topic and Agent containers it starts.
5. Applying a new or renewed license
-
Open Admin → License.
-
Paste the new key over the old one and click Save.
-
Confirm Status shows Valid, and check Licensee and Valid through.
-
Confirm the new numbers under Feature Limits.
-
Stop and start the running Topics, GraphRAG Topics and Agents. A container receives the key when it starts, so the ones already running still hold the old key — they keep working, but would refuse to start again on their own once the old key has run out.
Validation happens immediately on save, so a wrong or truncated key shows up right away.
|
When a license runs out (after its Valid through day), the platform checks this once a day without a restart and then behaves as if there were no license: nothing can be created, imported or started. Resources that already exist are not deleted, and containers that are already running are not stopped — they stay usable until they are stopped or restarted. After that they refuse to start until a new key is in place. Watch the Valid through date, since nothing else warns you in advance. |
6. Troubleshooting
| Symptom | Cause and fix |
|---|---|
"There is no valid license" when creating or starting something |
No valid key. Open Admin → License and check Status and the reason |
Status Invalid, reason mentions no key |
No key stored and none found in the environment/file chain. Paste the key, or set |
Status Invalid after pasting |
Key truncated or altered on copy — line breaks and stray spaces matter. Copy it again, complete |
Status Invalid, reason mentions expiry |
The license has run out. Renew it and paste the new key |
Status Invalid, reason mentions the product |
The key was issued for a different product. Request an AI Knowledge Fabric key |
Status Invalid, "signed by an unknown key" |
This installation does not trust the issuer of the key — typically a key from a test or a newer signing key. Contact cyrock.ai; you may need an updated platform version |
"Your license does not include …" |
The license grants none of this resource (its limit is 0). Ask for a license that includes it |
"You have reached the limit of your license" |
The licensed number is reached. Check Feature Limits, delete an unused resource, or upgrade |
A Topic, GraphRAG Topic or Agent goes to ERROR right after start, its log says "No valid AI Knowledge Fabric license" |
The container did not get a valid key. Check Admin → License; after fixing the key, start it again |
|
A key stored via the UI takes precedence. Clear the field and save |
The Save button is missing |
Your role lacks |
Limits did not change after saving a valid key |
Re-open the screen. The counts and limits are read when the page is built |
Related
-
Docker Compose installation — where
CYROCK_LICENSE_KEYis set -
Roles & Permissions — the
CONFIG_MANAGEpermission this screen requires