Skip to main content

Antelao Odoo Host Manager

Antelao hosts multiple Odoo instances as Docker containers on a single Linux server, and gives you one place to create, configure, back up, secure and monitor them.

It is aimed at three kinds of operator:

  • Odoo enthusiasts running one or two instances for themselves, who want the boring parts (TLS, backups, upgrades, intrusion prevention) handled properly without becoming a full-time system administrator.
  • Odoo developers who need instances they can create, break, clone and throw away, with Git-backed addons and a database they can restore from a customer's backup in a minute.
  • Hosting companies running many instances for many customers, who need quotas, unattended scheduling, off-site backups, users scoped to their own customers' instances and a machine interface to drive it all.

The four parts​

Antelao is one product over a single domain layer. Anything you can do in one front-end you can do in the others.

PartWhat it isWhen you use it
ohmThe command-line tool, from a Debian package. ohm install is the installer of the whole systemInstall and repair, scripting, remote administration of any number of servers
ohm-agentThe host agent: a container run by the host's own systemd unitInstalls, repairs and upgrades everything else, and executes what the API dispatches. Its own page is the recovery door when the console is down
ohm-apiThe management API containerThe machine interface. It owns the background-job queue and the maintenance scheduler, so it is also what makes anything happen
ohm-webThe consoleDay-to-day administration in a browser

Each of the three containers answers on a plain HTTP port for the server's own use and an HTTPS port for everything else:

PortProtocolBound toFirewall scriptServiceWhat it is
5201HTTPLoopbackNothingohm-agentThe host agent, for the command line and the server's own parts
5202HTTPSEvery interfaceYour addressesohm-agentThe host agent's page and API. Protected by its key and by who may reach the agent
5311HTTPLoopbackNothingohm-apiThe management API, for the command line and the console on the server itself
5312HTTPSEvery interfaceYour addressesohm-apiThe management API
5321HTTPLoopbackNothingohm-webThe console, for the server itself and an SSH tunnel
5322HTTPSEvery interfaceYour addressesohm-webThe console

The console is strictly a client of the API - it holds no Docker socket and no domain code at all - and so is ohm when it runs remotely. There is no operation the browser can perform that a script cannot.

What a server runs​

ohm install lays the whole host. Every container it manages carries the ohm- prefix, which is also how the product tells its own containers from everything else on the machine.

ContainerPurpose
ohm-postgresThe shared PostgreSQL server holding the instance databases and the master database
ohm-nginxThe public edge: TLS termination and one site per instance
ohm-geoipFetches the GeoLite2 databases the location rules match against
ohm-fail2banBans abusive addresses based on the nginx logs
ohm-portainerDocker management UI, optional: installed only when you choose it
ohm-pgadminPostgreSQL administration UI
ohm-postfixSMTP relay, started only when a mail profile is configured
ohm-<id>One container per Odoo instance

Which port each of them answers on, on which address, and what the firewall script does with it is in the port table.

Instance containers are named ohm- followed by the instance's twelve-character id, which is how you find an instance's container in docker ps.

Odoo versions​

Antelao hosts Odoo 15.0, 16.0, 17.0, 18.0, 19.0 and 20.0, in both the Community and Enterprise editions. Instances of different versions run side by side on one server, each in its own container against the shared PostgreSQL server.

Where behaviour differs by Odoo version, the page concerned says so. The manual follows Antelao releases, not Odoo releases.

Editions​

Antelao itself is licensed. Two editions are free of charge, two are subscriptions, and an unregistered server is a supported state rather than a broken one: it runs one instance with one database and keeps working indefinitely.

The rule of thumb is by hand versus unattended and local versus off-site. Taking a backup yourself is free; letting the scheduler take it every night is not. See Editions for what each one unlocks, and When the license changes for what the server switches off when its license carries less, and how it comes back.

Where to start​

Install the server and create your first instance in Getting started.