Skip to Content

Gomworx Hosting Architecture

Hosting Architecture


Overall Architecture


Your Odoo environment runs on its own virtual server in a Hetzner datacenter. The ISO 27001 / SOC 2 infrastructure is hardened by default with automatic updates, brute-force protection, backed by a 99.9% uptime guarantee. It is upported by a management platform, code version control and backup storage, with active monitoring as an optional add-on. Each component is described below with its location, purpose and access model.

Runtime flow
Users
Browser, mobile, integrations
HTTPS
TLS / DNS
DNS, Let's Encrypt certificate, optional Cloudflare or own firewall in front
Hetzner Dedicated Server
Germany (Falkenstein, Nuremberg) or Finland (Helsinki), depending on availability and/or preference. One VM per customer.
Odoo application PostgreSQL Odoo Filestore Host firewall Monitor agent (optional)
Management, deployment and backup
GitHub Repositories
Private, Gomworx Repo, 2FA
read-only deploy key
Cloudpepper Management Platform
Provisioning, updates, module deployments, backup schedules, logs, audit trail
manages the server, runs daily backups
Encrypted Backup Storage (EU)
Cloudpepper Managed Backup Storage at OVH France. Optional second copy to your own S3 / SFTP
Gomworx Odoo Monitor optional
Optional add-on. Central monitor on a separate Gomworx server plus a light agent on your server that sends metrics and log lines outbound (HTTPS, revocable per-server token). Checks availability, cron, mail queue, errors, SSL and more.


Storage


Provider

Hetzner, a German infrastructure provider. Your Odoo environment runs on a shared or dedicated virtual server in one of its datacenters.

Purpose

Runs the Odoo application server and the PostgreSQL database for your environment(s): production and, if wanted, a staging copy. One dedicated VM per customer: no other customers on the same server, no shared database or filestore.

Characteristics

Location

Germany (Falkenstein or Nuremberg)
Finland (Helsinki)
depending on availability and/or preference

Security

Host firewall (UFW), managed by the management platform, only allows 80/443 (web) and SSH. The database port is not reachable from outside. All traffic runs over HTTPS.

Access Security

Server access only via SSH with keys; password login is disabled. Odoo access via personal user accounts with roles and rights per user; two-factor authentication available. Integrations with external systems use API keys per integration user, never personal passwords.

Full Access

Gomworx administrators (SSH key)

Read Access

Customer (per Odoo user through Odoo database)


Management Platform


Provider

Cloudpepper, a SaaS Odoo DevOps platform that connects to your Hetzner server.

Purpose

Provisioning, OS and Odoo updates, module deployments from Git, backup schedules, logs and restarts. Every action (update, restart, backup, restore) is logged in an audit trail.

Characteristics

Location

SaaS platform, connected to your Hetzner server

Security

Connects to the server with its own deploy key. Every action is logged in an audit trail.

Access Security

Gomworx administrator account with two-factor authentication (active). All changes go through Gomworx.

Full Access

Gomworx administrators (2FA)

Read Access

None


Source Code


Provider

GitHub (Microsoft). All custom modules live in a private repository on the Gomworx account.

Purpose

Version control for all custom modules, with full version history. Code only, never your data or databases. The server pulls the code through the Cloudpepper deployment automation.

Characteristics

Location

United States (GitHub, Microsoft). Source code only, no business data.

Security

Private repository, visible only to explicitly invited collaborators.

Access Security

The server pulls code with a read-only deploy key; no personal credentials are stored on the server.

Full Access

Gomworx (2FA)

Read Access

Customer technical contact on request (read rights on own repository)


Backup


Provider

Cloudpepper Managed Backup Storage, hosted in OVH datacenters in France.

Purpose

Daily backup of database and filestore, physically and operationally separate from the production server. Default retention (same cadence as Odoo.sh): 7 daily, 4 weekly and 3 monthly backups (3 months of history), each with database dump and filestore. Frequency configurable from hourly to monthly; 


Optional
(1) Longer retention or a shorter RPO is possible at extra cost.

(2) Second encrypted copy to your own S3 bucket or SFTP server (for example a Hetzner Storage Box), so you hold your data independently of Gomworx and Cloudpepper.

Characteristics

Location

OVH datacenters, France (EU). 
Optional second target of your choice (S3 / SFTP).

Security

Encrypted in transit (TLS) and at rest. Geographically and operationally separated from the production server.

Access Security

Storage credentials exist only in the management platform, not on the Odoo server, so a compromised server cannot delete the backups.

Full Access

Gomworx, via the management platform (2FA)

Read Access

Customer, via optional second copy to own S3 / SFTP


Monitoring


Provider optional

Gomworx Odoo Monitor: a central monitoring server operated by Gomworx at Hetzner (odoomonitor.gomworx.net) combined with a light monitoring agent on your Odoo server.

Purpose

Monitors availability, cron jobs, mail queue, errors, SSL expiry and backup freshness. Alerts by e-mail to Gomworx Administrator. 

Optional
(1) SIEM integration: a light log forwarder (Vector, Filebeat or rsyslog) on the server sends Odoo, nginx and system logs outbound over syslog-TLS or HTTPS to your collector, with local buffering when the collector is unreachable and optional field masking before transmission.

Characteristics

Location

Central monitor on a separate Gomworx server at Hetzner
Agent on your Odoo server

Security

Two channels: the central monitor reads Odoo through the standard XML-RPC API with a separate read-only monitoring user and API key, and the agent on your server sends metrics and log lines outbound only (HTTPS) with a per-server token that can be revoked individually. No inbound connection, no SSH or other server access from the monitor.

Access Security

Dashboard behind its own login. Each customer gets a status page with own login or access code that shows only their instance.

Full Access

Gomworx (admin)

Read Access

Customer (own status page)
Monitoring account (read-only API user in Odoo)


TLS / DNS


Provider

Let's Encrypt certificate on the server. DNS at your own registrar or managed by Gomworx.

Purpose

All traffic runs over HTTPS.


Optional

Network integrations:

(1) e.g. Cloudflare in front

(2) Your own virtual firewall 
(appliance by customer)

Characteristics

Location

Certificate on the server; DNS at your registrar or at Gomworx

Security

HTTPS only; Let's Encrypt certificate. The monitor alerts on SSL expiry.

Access Security

DNS changes via your registrar account or via Gomworx. Optional Cloudflare Access or VPN-only access for the backoffice.

Full Access

Gomworx (Certificate); Customer or Gomworx (DNS)

Read Access

None


Intellectual Property

Gomworx remains the copyright holder of the custom modules built for you. After payment you receive an exclusive, perpetual and non-transferable right of use for your own Odoo environment(s).

On request you get read access to the repository or a full export, and you are not tied to Gomworx: the code can be deployed for that environment on any Odoo hosting.

Reselling, transferring to third parties or using the code in other databases or companies falls outside the right of use. These terms are laid down in the agreement.

Standard Odoo modules remain under their own licence (LGPL/AGPL).


Version

Last edited: September 17, 2026