Get started
Editions and feature differences
The free community edition allows 50 concurrent connections; the enterprise edition is priced per connection, as an annual subscription or perpetual with 3 years of updates. Connection counting, pricing, the never-more-expensive rule and DocBuilder limits per edition.
On this page
Both editions share one installation. Without a license token the server runs the community edition; load a valid enterprise token and the connection cap and DocBuilder limits rise immediately, without a restart.
Edition comparison#
| Community | Enterprise | |
|---|---|---|
| Price | Free | Per connection, minimum 50 per order |
| Concurrent connections | 50 | Exactly the license token's conns field, even when below 50 |
| License token | Not needed | Required; verified offline with Ed25519 |
| White label (logo, name, colours) | No | Coming soon: only with the O3O image built from source |
| Editor embedding, save callbacks | Yes | Yes |
| DocBuilder endpoints | 10 (no POST /v1/template/render) | 11 |
| Processing requests per minute | 10 | clamp(60 * ceil(conns / 50), 60, 3000), i.e. 60 to 3,000 |
| Processing requests per day | 200 | Unlimited |
| Parallel jobs | 1 | Equal to the configured workers |
| Maximum queued jobs | 10 | 1,000 |
| Maximum file size | 10 MB | 300 MB |
| Result retention | 15 minutes | 1,440 minutes |
| Synchronous timeout | 60 s | 60 s |
| Maximum job time | 120 s | 600 s |
| Job callbacks | No | Yes |
| Maximum script units | 500 | 20,000 |
| Outputs per build | 1 | 5 |
| Temporary overage | No | Coming soon |
What counts as a connection#
A connection is one concurrent editing session: one editor window open in edit mode on the server. One person with 3 documents open for editing uses 3 connections; three people editing one document also use 3.
| Case | Counted |
|---|---|
| Session open in edit mode | Yes |
Read-only session (user without write permission, or opened with permission=readonly) | No |
Any DocBuilder request (/v1/*) | No |
Health checks, /hosting/discovery, /hosting/capabilities | No |
File conversion: use DocBuilder's POST /v1/convert; /cool/convert-to is not exposed through o3o-proxy (it returns 404) | No |
The cap applies to the instantaneous number of editing sessions. o3o-gate also reports a 5-minute sliding peak (peak_5m) and writes a reconciliation log every 5 minutes; use these figures when deciding to buy more connections.
Enterprise pricing#
| Connections | Annual subscription (per connection per year) | Perpetual with 3 years of updates (per connection) |
|---|---|---|
| 50 – 200 | 5 USD | 10 USD |
| 201 – 500 | 4.5 USD | 9 USD |
| 501 and above | 3.5 USD | 8 USD |
- The unit price applies to all connections in the order, not tier by tier.
- Minimum 50 connections per order.
- Prices are listed in USD. o3o.vn's licensing server fixes and stores the USD to VND rate when the order is CREATED; the payment QR code keeps that exact amount. An expired order is replaced by a new order at the new rate.
The never-more-expensive rule#
Because the unit price drops by tier, buying slightly fewer connections can cost more than buying more. The rule prevents that: the amount charged for n connections is the cheapest of all quantities m from n upwards (and not below 50), computed as m × unit price of m. When the cheapest m is larger than n, you pay for m and are granted all m connections.
The invoice states, and the license token grants, exactly the connection count of the level that is billed. Annual example: choosing 190 connections bills 201 connections × 4.5 USD = 904.5 USD, and the token carries conns = 201.
| Type | When buying | Billed as | Amount |
|---|---|---|---|
| Annual subscription | 181 – 200 | 201 | 904.5 USD |
| Annual subscription | 390 – 500 | 501 | 1,753.5 USD |
| Perpetual | 181 – 200 | 201 | 1,809 USD |
| Perpetual | 446 – 500 | 501 | 4,008 USD |
Worked examples#
| Connections needed | Annual | Perpetual |
|---|---|---|
| 50 | 250 USD | 500 USD |
| 120 | 600 USD | 1,200 USD |
| 190 | 904.5 USD (201 connections granted, instead of 950 USD) | 1,809 USD (201 connections granted, instead of 1,900 USD) |
| 200 | 904.5 USD (201 connections granted, instead of 1,000 USD) | 1,809 USD (201 connections granted, instead of 2,000 USD) |
| 201 | 904.5 USD | 1,809 USD |
| 300 | 1,350 USD | 2,700 USD |
| 450 | 1,753.5 USD (501 connections granted, instead of 2,025 USD) | 4,008 USD (501 connections granted, instead of 4,050 USD) |
| 500 | 1,753.5 USD (501 connections granted, instead of 2,250 USD) | 4,008 USD (501 connections granted, instead of 4,500 USD) |
| 501 | 1,753.5 USD | 4,008 USD |
| 800 | 2,800 USD | 6,400 USD |
License tokens in v1#
- o3o-gate and DocBuilder read the token from
O3O_LICENSE_TOKEN, or from theO3O_LICENSE_FILEfile (default/etc/o3o/license.token), re-read every 60 seconds. - Tokens are verified offline with an Ed25519 signature; the server does not need Internet access.
- Annual subscriptions get a 7-day grace period after expiry; after that the server falls back to the community edition and open sessions are not affected.
- A broken, wrong-product or missing token: the server keeps running as the community edition and
/o3o/statusexplains why inlicense.message. - DocBuilder runs as enterprise when the token is valid and includes the
api_fullfeature; job callbacks also need thecallbackfeature.
Online activation, heartbeat and revocation through office.o3o.vn; buying the enterprise edition online; temporary overage for the enterprise edition; 30-day P95 statistics and a usage chart page.
When the connection cap is reached#
| Situation | Behaviour |
|---|---|
| Open sessions | Left untouched. |
| Saving | Never blocked. |
| Reconnecting within 120 seconds | Admitted even at the cap. |
| New read-only session | Always admitted, not counted. |
| New editing session through Nextcloud | Limit page with open-read-only and retry buttons. |
| New embedded session in edit mode | Opens read-only and fires onLimitReached. |