Skip to main content

Editions

Antelao has four editions plus an Unregistered state, which is what the console calls a server with no license. Two editions cost nothing. Prices, and where to buy a license, are on antelao.io.

A customer holds one Community license. A second live Community license is refused for the same e-mail address, and for another address at the same company domain; an address at a public mail provider counts by the full address only. Addresses that reach the same mailbox count as one: a +tag in the address is ignored, and so are the dots of a Gmail address. A Community license that has ended or was revoked does not count.

The split is not feature-by-feature. It is by hand versus unattended, and local versus off-site. Running a backup yourself is Community. Letting the scheduler run it every night is Professional. Writing that backup to a local disk or an FTP server is Community; writing it to S3 or Azure is Professional.

What each edition unlocks​

CapabilityUnregisteredCommunityDeveloperProfessionalProvider
PriceCommunity and Developer are free of charge. Support for them is community-driven.-FreeFreeSubscriptionSubscription
InstancesCreating one above the limit is refused, and what runs above a lower limit is stopped or disabled until a license allows it again.12Unlimited5Unlimited
Console accountsCreating one above the limit is refused, and what runs above a lower limit is stopped or disabled until a license allows it again.111UnlimitedUnlimited
Databases per instanceCreating one above the limit is refused, and what runs above a lower limit is stopped or disabled until a license allows it again.11UnlimitedUnlimitedUnlimited
Custom modules per instanceCreating one above the limit is refused, and what runs above a lower limit is stopped or disabled until a license allows it again.01UnlimitedUnlimitedUnlimited
Host names per instanceCreating one above the limit is refused, and what runs above a lower limit is stopped or disabled until a license allows it again.11UnlimitedUnlimitedUnlimited
Concurrent jobsHow many queued operations run at once.111216
EnvironmentsCreating one above the limit is refused, and what runs above a lower limit is stopped or disabled until a license allows it again.1113Unlimited
Serving an instance on a public host nameBounds the Developer edition rather than reducing its feature set.YesYesNoYesYes
Obtaining a publicly trusted certificateBounds the Developer edition rather than reducing its feature set.YesYesNoYesYes
Direct support from AntelaoHelp from the people who build the product. The free editions are supported by the community.NoNoNoYesYes
No lock-out when the license server cannot be reachedIf the license server cannot be reached, a running subscription keeps working on its last check-in instead of locking you out; only changes that need more than the Community edition wait for the next check-in. Backups stored on the server can always be listed and downloaded.NoNoNoYesYes
Odoo 15 to 20, side by sideRun any Odoo version from 15.0 to 20.0, Community or Enterprise, each instance on its own version on the same server. You are warned when a version reaches the end of its support.YesYesYesYesYes
New Odoo releases from day oneBuilds Odoo on your server from Odoo's own recipe and official nightly builds, verified against Odoo's checksum. Run a new release before a ready-made Docker image exists, and see which instances are running an outdated build.YesYesYesYesYes
Odoo Enterprise readyAdd the Odoo Enterprise apps to any instance in one step. They are fetched from Odoo's repository for the right version and pinned to an exact revision. Requires your own Odoo Enterprise access. Removing them is always free.NoYesYesYesYes
New instance in minutesA five-step wizard creates a ready-to-use instance from a Production, Staging or Development preset. Existing Odoo installations can be imported too.YesYesYesYesYes
Automatic performance tuningOdoo workers are sized from the number of users you expect, and each instance gets CPU and memory limits, set automatically or by hand and applied without a restart, so no instance can starve the others.YesYesYesYesYes
Database managerCreate databases with your country's localisation, then clone, rename, back up, vacuum and reindex them from the console. Includes emergency tools to regain admin access to an Odoo database.YesYesYesYesYes
Module management without the command lineInstall, upgrade and uninstall Odoo modules from the console, or upgrade many at once in a single job. A safety copy of the database is taken before every update.YesYesYesYesYes
Custom modules straight from gitAdd modules from your GitHub or GitLab repositories. Each one is pinned to an exact commit, so you always know which code is running, with a full history of revisions.YesYesYesYesYes
Automatic updates from gitFollow the branches you choose on GitHub or GitLab, and modules update themselves as soon as new commits arrive, or on demand with one click. A commit that fails to deploy is remembered and not retried.NoNoNoYesYes
Zero-downtime deploymentsThe new version starts in a second container beside the running one, and traffic switches over only once it answers. Your users never see an outage. Memory for both is checked before anything starts.NoNoNoYesYes
Backups on the serverBack up databases and complete instances to the server's own disk.NoYesYesYesYes
Complete instance backupsOne archive holds everything an instance needs to be rebuilt anywhere: its databases, attachments, custom modules and configuration. Credentials can travel with it, so a restore on another server works straight away.NoYesYesYesYes
Scheduled backups and staging refreshesBackups run on schedules you set for the whole server or per instance. The same scheduler can also restore automatically, for example to refresh a staging copy from production every night.NoNoNoYesYes
Off-site backups to FTPSend backups to your own FTP or FTPS server, with a retention period for each destination.NoYesNoYesYes
Off-site backups to Amazon S3Send backups to Amazon S3 or any S3-compatible storage, with a retention period for each destination.NoNoNoYesYes
Off-site backups to AzureSend backups to Azure Blob Storage, with a retention period for each destination.NoNoNoYesYes
Your backups are always yoursList and download any backup stored on the server at any time, on every edition, even after a subscription ends. Archives stored off-site stream straight to your browser while the license carries their target.YesYesYesYesYes
Managed backup storage on AzureAdd an Azure storage account once, then make a container per instance from the console: immutable, with a token scoped to that container only, measured nightly and costed at list price on the Backup storage Overview.NoNoNoYesYes
Managed backup storage on HetznerAdd a Hetzner Object Storage project once, then make a bucket per instance from the console: locked at creation, measured nightly and costed on the Backup storage Overview.NoNoNoYesYes
Managed backup storage on Backblaze B2Add a Backblaze B2 account once, then make a bucket per instance from the console with a key confined to that bucket, locked at creation, measured nightly and costed on the Backup storage Overview.NoNoNoYesYes
Managed backup storage on S3-compatible storesAdd any S3-compatible endpoint (Amazon S3, Scaleway, MinIO) once, then make a bucket per instance from the console, measured nightly and costed from the rate card you give it.NoNoNoYesYes
Managed backup storage on Cloudflare R2Add a Cloudflare R2 account once, then make a bucket per instance from the console with a key confined to that bucket, retained by a bucket lock, measured nightly and costed on the Backup storage Overview.NoNoNoYesYes
Encrypted backupsLock every backup archive with your own key before it leaves the server, on every storage provider and on the server's own disk. Archives use the open age format, so they also open with the free age tool, without the console. Restoring and decrypting keep working on every edition.NoNoNoYesYes
Restore a databaseRestore a backup into an existing instance. The copy is prepared beside the live database and only switched in when it is ready.NoYesYesYesYes
Clone, move and restore whole instancesRestore a complete instance from a backup, duplicate it in one click, move it from another server, or refresh a staging instance from production with a single action.NoNoYesYesYes
Safe test copiesEvery copy of production can be neutralised automatically, so a test database cannot email customers, charge cards or post e-invoices. Covers outgoing mail, scheduled actions, Peppol, Ponto bank sync, SMS, WhatsApp, VoIP, in-app purchases, PrintNode and webhooks, and adds a clear TEST banner.NoYesYesYesYes
Import and export PostgreSQL dumpsLoad a database from a standard PostgreSQL dump in custom, tar or plain SQL format, detected automatically, and export databases as PostgreSQL dumps for use anywhere.NoNoYesYesYes
Upgrade Enterprise databasesMove an Odoo Enterprise database to a newer major version through Odoo's upgrade service: prepare an instance, rehearse on a fresh copy of production as often as needed, then upgrade production. Needs a valid Odoo subscription.NoNoNoYesYes
Upgrade Community databasesMove an Odoo Community database to a newer major version with OpenUpgrade, one step per version, rehearsed on a fresh copy of production before production is touched.NoNoNoYesYes
Rate limitingEvery instance limits how fast sign-in attempts and other requests can arrive, out of the box, which slows down password guessing and floods. You can adjust the limits.YesYesYesYesYes
Automatic attack blocking (Fail2Ban)Watches for repeated failed sign-ins and other suspicious traffic, and blocks the offending addresses in the firewall automatically. Without it, attacks are detected and logged but not blocked.NoYesNoYesYes
Block an address by handBlock any IP address on the spot. Unblocking is always available.NoYesNoYesYes
Access rules by address, country and pathDecide who may reach each instance and the console: allow or block by IP address, network range, host name, country or continent, down to individual pages. Blocked visitors see the response you choose, and a map shows where refusals come from.NoNoNoYesYes
IP location data (GeoIP)Up-to-date location data for every IP address, so country rules work and you can see where your visitors come from. Without it, every location reads as unknown.NoNoNoYesYes
Community threat intelligence (CrowdSec)Adds the CrowdSec security engine to the server: Odoo-specific attack detection, a firewall that blocks threats reported by the worldwide CrowdSec community before they reach you, and manual decisions. Lifting a decision is always available.NoNoNoNoYes
Pre-authentication sign-in pagePut a neutral sign-in page in front of an instance, so nobody reaches it without a user name and password you hand out. Exempt paths and addresses keep payment webhooks, integrations and your own office working without it, and every sign-in is recorded in the firewall log.NoNoNoYesYes
Free automatic HTTPS (Let's Encrypt)Each instance gets a free, trusted Let's Encrypt certificate that renews itself. Your site keeps working even if issuance fails.YesYesNoYesYes
Let's Encrypt for servers behind a firewallObtain certificates by DNS validation, which works for servers that are not reachable from the internet. Supports 13 DNS providers, including Cloudflare, Amazon Route 53, Google Cloud DNS, DigitalOcean, OVH and Linode.NoNoNoYesYes
Bring your own certificateUpload a certificate from your own certificate authority or a commercial provider for any instance.NoNoNoYesYes
Built-in certificate authorityThe server signs its own certificates for internal and development use, and provides a trust kit that installs its authority on Windows, macOS and Linux so browsers accept them without warnings.YesYesYesYesYes
Live dashboard, uptime and logsA dashboard of CPU, memory, disk and I/O use that you can arrange, uptime checks of every instance once a minute, and live log viewing in the browser.YesYesYesYesYes
Performance and uptime historyLook back over a day, week, month, quarter or year at CPU, memory, disk, I/O, response times and uptime. Data is collected from the start, so it is there as soon as you upgrade.NoNoNoYesYes
Resource usage (CPU, memory and storage)A server-wide view of CPU, memory and disk by host, core services and instance, with a breakdown per instance, and an hourly breakdown of where disk space goes with a storage threshold per instance that raises an alert.NoNoNoYesYes
Alerts to email, Slack, Discord and webhooksGet alerted on the channels your team already uses when something needs attention, such as a failed backup, a down instance, an expiring certificate or a slow query. Comes with recommended alert rules. Webhooks are signed.NoNoNoYesYes
Outgoing mailA built-in mail relay sends the server's own email through your SMTP provider, with a test message to check the setup.NoYesNoYesYes
Backup and restore reportsReceive a report by email after each backup and restore, or only when something went wrong.NoNoNoYesYes
Security noticesUsers are emailed when someone signs in to their account from a new device and when their account changes.NoNoNoYesYes
Attack blocking noticesReceive an email each time Fail2Ban blocks an address.NoNoNoYesYes
Managed PostgreSQL includedEvery server comes with a PostgreSQL 18 database cluster that is installed, tuned and maintained for you, including regular vacuum and reindex.YesYesYesYesYes
Connection pooling (PgBouncer)Lets many busy instances share database connections efficiently, so the database stays responsive under load. Turn it on per instance.NoNoNoYesYes
Slow query insightsFind the database queries that slow Odoo down, per server, instance or database. Values are masked before anything is stored, so no business data is kept.NoNoYesYesYes
Standby database (read replica)A continuously updated copy of your database cluster, ready to take over in one click if the primary fails. Reports and analytics read from it, so they never slow Odoo down.NoNoNoYesYes
PostgreSQL version upgradesMove the database cluster to a newer major PostgreSQL version in one guided job, without exporting and reimporting by hand.NoNoNoYesYes
Bring your own PostgreSQLRun or move instances onto your own PostgreSQL server or a managed cloud database service instead of the built-in cluster.NoNoNoNoYes
Business analytics (Metabase)Build dashboards and reports on your Odoo data with Metabase, with single sign-on from the console. Each user sees only the databases of the instances they have access to.NoNoNoYesYes
Developer workspaceAdds a Developer tab to each instance, and a secure SSH gateway so developers can use their own VS Code, SFTP client or debugger. Each developer gets a personal database sign-in.NoNoYesYesYes
VS Code in the browserA full Visual Studio Code editor running inside the instance, with the Odoo source code, a terminal, git and live Odoo logs. Commits are made under each developer's own name.NoNoYesYesYes
Live debuggingAttach a debugger to a running instance, set breakpoints and step through the code from the editor.NoNoYesYesYes
Team editor profilesDefine once how the editor opens for your team: extensions, settings, memory and automatic reload on edit, shared across all instances on the server.NoNoYesYesYes
Safe local copies for developersPull a copy of an instance onto a developer's own computer to work offline. Payment, API and sign-in credentials are always removed, confidential data only goes to encrypted disks, and local copies expire after 30 days.NoYesYesYesYes
Code in the browser, read-onlyBrowse an instance's custom add-ons and the Odoo source read-only in the browser, with syntax coloring and search. No terminal, git or extensions.YesYesYesYesYes
Two-factor sign-in and passkeysProtect console accounts with authenticator apps, passkeys and trusted devices. Administrators can make two-factor sign-in mandatory, and repeated failed attempts lock the account.YesYesYesYesYes
Roles and permissionsGive each person the right level of access: Viewer, Operator, Read-only administrator or Administrator, limited to the instances and servers they work on.NoNoNoYesYes
Permanent audit trailEvery change, sign-in, download and command, including those typed on the server itself, is recorded with who did it and when. Entries cannot be deleted, are kept for a year and can be exported.YesYesYesYesYes
Encrypted passwords and keysPasswords, keys and tokens are encrypted at rest, can be written but never read back, and are never stored in job records.YesYesYesYesYes
One-command installationInstall on Debian or Ubuntu with a single command. Running it again repairs an existing installation.YesYesYesYesYes
One-click updatesUpdate the platform and its components from the console, see the server's pending operating system updates with security fixes listed first, and read the release notes in the product.YesYesYesYesYes
Hands-off housekeepingCertificate renewal, database maintenance, clean-up of old images and data, and location data updates all run on their own.YesYesYesYesYes
Command line in the browserOpen a terminal inside any instance or service from the console, with shortcuts to the Odoo shell and the database shell. No SSH needed.NoNoYesYesYes
pgAdmin and Portainer includedPopular administration tools for the database and for Docker, ready to use when you need to look deeper.YesYesYesYesYes
One-click diagnosticsCreate a support bundle, with passwords masked, and a step-by-step trace of what happened on screen with sensitive values redacted, ready to send with a support request.YesYesYesYesYes
REST API and command lineAutomate everything the console does through a documented REST API (OpenAPI) with named API keys, or with the command-line tool, locally or remotely.YesYesYesYesYes
Configuration as codeExport a server's or an instance's configuration and apply it elsewhere, review pending changes before they take effect, and keep snapshots of earlier configurations.YesYesYesYesYes
AI assistantAsk an AI provider about your server, with your own API key: names, addresses and credentials are taken out of everything it is sent. Each AI function and each provider has a code of its own beside this one, and a function needs all three.NoNoNoYesYes
AI diagnosticsDiagnose an instance with the AI assistant: it reads the instance's state, health report, logs and failed jobs, with names, addresses and credentials taken out, and answers with the likely cause, the steps to fix it and the commands that help.NoNoNoYesYes
Ask AIAsk the AI assistant about your server from a chat in the console.NoNoNoYesYes
AI coding in the editorCode with the AI assistant in the browser editor: a chat beside your add-ons' code that explains, writes and changes it with you.NoNoNoYesYes
AI provider: AnthropicUse Anthropic's Claude models as the AI assistant, with an Anthropic API key.NoNoNoYesYes
AI provider: OpenAIUse OpenAI's models as the AI assistant, with an OpenAI API key.NoNoNoYesYes
AI provider: Azure OpenAIUse a model deployed on your own Azure OpenAI resource as the AI assistant, with the resource's endpoint and key.NoNoNoYesYes

Unregistered is a supported state​

A server with no license is not broken. It runs one instance with one database and no custom module, indefinitely, and never stops on its own. It does not upgrade databases to a newer Odoo version.

InstancesUnregisteredCommunityDeveloperProfessionalProvider
Limit12Unlimited5Unlimited

A quota refuses creating one more. For the instance limit, every way an instance arrives counts as creating one: a new instance, a duplicate, an import of an instance backup and moving an instance in from another server, and several duplicates started at once count together. A Production restore of an instance this server already holds adds nothing. It also holds what already exists, from the moment the license changes: a server whose license allows fewer than it runs keeps the ones that matter most running and stops the rest, disables the console accounts above the limit, stops serving the databases and web addresses above it, and freezes the custom modules above it. Nothing is deleted or uninstalled, a limit never switches backups off, and everything comes back by itself when a license allows it again. A server holding five instances whose Professional subscription ends runs unregistered, and keeps one of them serving. See The limits.

When the license carries less​

Losing a feature is not only a refusal of the next change. When a license stops carrying a feature, because a lower edition was installed or a subscription ended, everything that feature had switched on is switched off, with its settings kept, and it comes back by itself when a license carries it again. While the license server merely cannot be reached, nothing is switched off.

The backup case is the one to understand before a subscription ends unattended at 3am:

Every capability, the limits, what the console shows and what you re-do yourself are on When the license changes.

The Developer edition is for development machines​

Developer is a free edition for the machine you build and test on. It carries the development tools - an instance's Developer tab, the browser editor, live debugging, workspace profiles, the command line in the browser, slow query insights, PostgreSQL dump and load, and cloning, moving and restoring whole instances - with unlimited instances and one console account.

It is not a free Professional license. It leaves out what serving real users needs: outgoing mail, Fail2Ban blocking and banning by hand, off-site backups (FTP included) and scheduled backups, alerting, access rules, roles and permissions, performance and uptime history, managing other servers, zero-downtime deployments, automatic updates from git, and Let's Encrypt or your own certificate. It is also bounded by where it may run:

These two run against the ladder: a public host name works on an unregistered server and is refused on Developer. Developer is for building and testing on the machine in front of you.

Upgrading Odoo databases​

Moving a database to a newer Odoo major version comes with Professional and Provider only. The comparison above lists it by engine: Upgrade Enterprise databases and Upgrade Community databases, both on Professional and Provider. Community, Developer and a server with no license upgrade nothing. Rolling back an upgrade done earlier is never refused for lack of these features.

Professional and Provider upgrade Community databases of any size. A license can state a size of its own, the database plus its filestore, and then a larger database is refused. See Upgrading an instance to a newer Odoo version.

Installing a license​

Upload the .lic file on the License page of the console, or hand it to the installer with ohm install --license /root/customer.lic. There is no separate command that installs one onto a running server: it is an upload, and the install that follows is a background job.

Licenses are signed per product. A license issued for another Antelao product is refused rather than accepted at a lower edition.

See Installing a license for the whole path.

What is counted​

Seven quotas decide how much of the product a license may use. The tables show what each edition's offer carries; the server reads the limits from the license it holds, so a license with a limit of its own applies that one. A license that states no limit for databases, custom modules or host names per instance, or for concurrent jobs, gets the unregistered value.

Custom modules are every module that does not ship with Odoo, counted as installed in each database, however it arrived: from git, put on the add-ons path by hand, or uploaded with Odoo's own Import module. An instance counts its fullest database.

InstancesUnregisteredCommunityDeveloperProfessionalProvider
Limit12Unlimited5Unlimited
Databases per instanceUnregisteredCommunityDeveloperProfessionalProvider
Limit11UnlimitedUnlimitedUnlimited
EnvironmentsUnregisteredCommunityDeveloperProfessionalProvider
Limit1113Unlimited
Console accountsUnregisteredCommunityDeveloperProfessionalProvider
Limit111UnlimitedUnlimited
Custom modules per instanceUnregisteredCommunityDeveloperProfessionalProvider
Limit01UnlimitedUnlimitedUnlimited
Host names per instanceUnregisteredCommunityDeveloperProfessionalProvider
Limit11UnlimitedUnlimitedUnlimited
Concurrent jobsUnregisteredCommunityDeveloperProfessionalProvider
Limit111216

Concurrent jobs is the one that changes how a server feels rather than what it may do: it is how many queued operations run at once, so it decides whether a nightly sweep of twenty instances proceeds one at a time or sixteen. A server follows it by default - Follow the license on the Server page's Operations card - so a new edition takes effect on the next job; a number you set there yourself is kept, clamped to what the edition allows, until you switch following back on.

Compliance, per instance​

Each instance carries a license compliance badge in its page heading, at the right, so it stays in view on every tab. Green means everything that instance is set up to use is covered.

The License compliance check runs daily from Maintenance. It reads every instance against the license and raises an alert per instance that uses something the license does not include.

So what a smaller license leaves uncovered is named instance by instance, beside the License page's list of what the license has switched off. See When the license changes.

An instance's own License tab lists the licensed features that instance is set up to use, and its use of the per-instance limits: its databases, and its custom modules as installed in its fullest database or as its git modules, whichever is more. That is where to look when the badge is not green.