Deploy Odoo on TurboStack

Run the Odoo Python ERP and business application suite on TurboStack with PostgreSQL behind a managed Nginx reverse proxy.

Odoo is a Python-based suite of open-source business applications covering enterprise resource planning (ERP), customer relationship management (CRM), accounting, inventory and e-commerce. TurboStack runs Odoo as its own service and places an Nginx reverse proxy in front of it, so you only have to declare the application in your host YAML.

Requirements

Component Value
App type odoo
Runtime Python 3 (managed for you, no version key needed)
Database PostgreSQL
Web server Nginx (reverse proxy)

Configure it

  1. Set webserver: nginx at the host level so TurboStack provisions the reverse proxy.
  2. Set postgresql_version to the PostgreSQL release Odoo should use (for example "17").
  3. Add a system user, then define a vhost with app_type: odoo. TurboStack starts the Odoo service and proxies traffic to it.
  4. Request a certificate with cert_type: letsencrypt for automatic HTTPS.
  5. (Optional) Override the Odoo ports under an odoo: block only if you do not use the defaults.

See Applications for the full list of supported app types and Publish for how to apply your host configuration.

Example configuration

webserver: nginx
postgresql_version: "17"      # Odoo requires PostgreSQL
system_users:
  - username: prod
    vhosts:
      - server_name: odoo.example.com
        app_type: odoo          # TurboStack runs Odoo behind nginx for you
        cert_type: letsencrypt
        # Optional - only if you run Odoo on non-default ports:
        # odoo:
        #   main_port: 8069
        #   websocket_port: 8072

Why these choices

  • app_type: odoo tells TurboStack to run the Odoo service and configure the Nginx reverse proxy for it automatically.
  • postgresql_version is mandatory because Odoo stores all of its data in PostgreSQL.
  • webserver: nginx provides the reverse proxy layer that fronts the Odoo process.
  • cert_type: letsencrypt issues and renews Transport Layer Security (TLS) certificates without manual steps.
  • The odoo.main_port (default 8069) and odoo.websocket_port (default 8072) settings are advanced overrides; leave them out unless you have a specific reason to change the ports.