Skip to Content
Odoo on Hetzner with Cloudflare

Odoo on Hetzner with Cloudflare

Deploy Odoo on Hetzner with Cloudflare DNS

https://tower.cetmix.com/web/image/product.template/10/image_1920?unique=62df36c
(0 review)
Summary
Categories
Server Templates
Tags
Odoo Docker Cloudflare Hetzner
Authors
Cetmix OU
License AGPL-3
Version 1.0.5
Call sign cx_server_template_odoo_on_hetzner
Website https://cetmix.com/contactus
Download
24 downloads

This Server Template is used for deploying an Odoo instance on Hetzner infrastructure using the Cetmix Tower platform. It provides all required parameters to automate Odoo provisioning, including hosting configuration, container orchestration, and optional DNS integration.

Video tutorial


🏗️ Architecture Components

1. Infrastructure Layer

  • Cloud Provider: Hetzner Cloud (via API)

  • Server Locations: fsn1 (Falkenstein), nbg1 (Nuremberg), hel1 (Helsinki), ash (Ashburn), hil (Hillsboro), sin (Singapore)

  • Server Types: CX22–CX52, CPX11–CPX51, dedicated AX lines

  • Operating System: Ubuntu 22.04 or 24.04 LTS

  • SSH Access: Public key authentication via provided ssh_key_id

2. Container Orchestration

  • Platform: Docker-based deployment

  • Image Strategy:

    • Uses cetmix-odoo-docker base image (tower-odoo-core)

    • Final image built with addons using Docker multi-stage build

  • Add-ons Sources:

    • GitHub, GitLab, Bitbucket (supports tokens and custom branches)

    • Local addons folders

  • Restart Policies: Configurable; ensures auto-restart on failure

  • Custom Options:

    • Dynamic ports for gevent / longpolling

    • Optional extra options for odoo.conf

3. Database Layer

  • Database: PostgreSQL (shared container model)

  • Version Support: 9.6 – 16 (inherits from shared DB container)

  • Connection Settings: Injected into Odoo config

  • Security: Password and host are secret-managed

4. Web Layer

  • Reverse Proxy: Shared Nginx container (external to this file)

  • SSL Termination: Handled externally (e.g. via certbot container)

  • Port Exposure: Container-specific ports for HTTP, longpolling, etc.

  • WS Support: Fully supports real-time via gevent

5. DNS Management

  • DNS Provider: Cloudflare (optional)

  • Automation: A-record can be automatically added if configured

  • Variables: cloudflare_token, cloudflare_zone, domain_name

This package is distributed under the GNU Affero General Public License v3.0 (AGPL-3) or later license.