Licensing (Site Admin)

The cloud-side licensing console — mint and manage self-hosted licence keys, free stuck activations, publish releases and content packs, and set self-hosted prices including the per-school yearly renewal.

What this page does

The Licensing console is the Edukali side of self-hosted licensing. It answers the two questions support actually gets asked: find this customer’s licence and fix it (extend their support, free a stuck activation, suspend an abuser) and make a new version available to everyone. It is organised as four tabs — Keys, Releases, Content Packs and Pricing.

This console appears only on Edukali cloud — it is the licence server’s admin face. The mirror-image pages, Updates & License and Content, appear only on a customer’s self-hosted install, where they consume what you publish here.

Everything here affects real customers’ servers. Suspending or revoking a licence stops the customer’s instances working at their next check-in, so read the confirmation text before you agree to it.

Keys — finding and fixing a licence

The Keys tab lists every licence, 25 at a time. Each row shows the key hint (the only part of the key that is ever shown again), the status (Active / Suspended / Revoked), the type (Trial, Regular, Business, Enterprise), the customer’s email, how many products it covers, seats used out of seats bought, and how many days of support are left. Search by key hint, customer email or organization id, and narrow by status.

On the Keys tab, click Mint license.

Enter the customer email, pick a type, set how many seats (servers) it allows and how many support months it runs for. Add an internal note explaining why the grant exists.

Copy the key from the confirmation and send it to the customer. It is shown once — afterwards only the key hint remains.

Licence detail drawer showing status, type, seats and support summary, the extend and seats controls, activations list and history timeline

The licence detail drawer — adjust support and seats, reset activations, and read the full history.

Search for the customer and click their row to open the detail drawer.

To give them more time, set Extend by (months) and click Extend support. To sell them another server, change Seats and click Save seats.

If they moved to a new server and the old one still holds the seat, find it in Activations and click Reset — that frees the seat so they can activate the new machine.

Read History for the full audit trail: every mint, activation, reset, suspension and renewal, with who did it and when.

Pushes the support-expiry date out by the number of months you enter. This is what makes newer releases installable again for that customer.

Changes how many servers may be activated on this licence at once.

Releases one activated server’s seat. Use it when a customer rebuilds or migrates a server and cannot activate the new one.

A reversible hold — their instances stop validating at the next check-in, and reactivating restores them without the customer re-entering their key. Use this for billing holds.

Permanent termination: every activated instance stops working and the customer cannot re-activate. You must type the key hint to confirm.

Releases — publishing a new version

The Releases tab is the list that every self-hosted instance checks against when it looks for updates. Registering a release and publishing it are deliberately two separate steps: registering is bookkeeping, publishing is what makes the version visible to customers.

On the Releases tab, click to register a release and paste in the release manifest produced by the release script (the releases/vX.Y.Z.json file). The form parses it as you paste and shows the version, image count and migration count it read back.

Tick Mark as a critical (security) release if customers should be nudged to take it, and add a changelog.

Save. The release is registered but not yet published — nobody can see it.

When you are ready, click Publish on its row and confirm. Every entitled instance sees the version at its next update check and can install it immediately.

Unpublishing a release hides it from customers who have not taken it yet — it does not roll back anyone who already installed it.

The install bundle — the zip of compose files, installer and docs a customer uses to stand a server up in the first place — is not managed from this screen. It is placed on the cloud server by whoever runs the deployment, and customers fetch the newest one from My Licences (or directly with their licence key). If a customer reports that no install bundle is available, that is what needs fixing.

Content Packs & Pricing

The Content Packs tab is the catalogue side of the Content page customers see on their own servers: it is where each pack’s price is set, and where a pack can be marked bundled so it ships free with every licence rather than being sold separately.

The Pricing tab holds the self-hosted price list, in whole rupees. Changes apply to the very next checkout quote.

One server, one school, all products, 12 months.

The price of each extra school added to an existing licence.

Charged per school: a licence covering 3 schools renews at 3× this price. Renewal is what keeps a customer’s support window in date, and with it their access to newer releases and pack versions.

Because renewal is per school, check a licence’s school count before quoting a renewal — the number on the Pricing tab is the per-school figure, not the customer’s total.

← All help articles