Skip to main content
Multi-Tenant Architecture

Multi-Tenant Odoo Hosting

Host multiple Odoo clients from a single platform. Flexible architecture options with complete data isolation and centralized management. Perfect for Odoo agencies looking to scale their hosting business.

Ideal for agencies, resellers, and SaaS providers

What is Multi-Tenant Odoo Hosting?

Multi-tenancy allows you to serve multiple independent clients from shared infrastructure while maintaining complete data separation.

Multi-Tenancy in Odoo Context

In the Odoo ecosystem, multi-tenancy refers to running multiple separate Odoo instances or companies on shared infrastructure. Each tenant (client) operates independently with their own data, users, configurations, and potentially custom modules - while the underlying servers, databases, and management are centralized.

SaaS vs Traditional Hosting

Traditional hosting: One server per client. Simple but expensive and hard to scale.

SaaS/Multi-tenant: Shared infrastructure with isolated data. Cost-effective, centrally managed, and easy to scale. Ideal for agencies managing 5+ clients.

Common Use Cases

Odoo Agencies

Manage all client deployments from one dashboard. Offer hosting as a service with white-label options.

Resellers & MSPs

Provision and manage Odoo instances for customers. Build recurring revenue with hosting subscriptions.

Franchises & Chains

Each location runs their own Odoo with centralized reporting and management at headquarters.

Architecture Options

Choose the isolation level that matches your security, compliance, and cost requirements.

Shared Database

Single database, multiple companies

All tenants share one PostgreSQL database using Odoo's multi-company feature. Data is separated by company_id at the application level.

Isolation
Low
Cost
Low
Complexity
Low

Advantages

  • Most cost-effective option
  • Simple to manage and maintain
  • Native Odoo multi-company support
  • Single backup covers all tenants

Considerations

  • Limited isolation (application-level only)
  • Shared module versions across tenants
  • Performance impact from large tenants
  • Not suitable for compliance-heavy industries

Best for: Internal teams, small agencies with trusted clients, cost-sensitive deployments

Isolated Databases

Separate database per tenant

Each tenant has their own PostgreSQL database running on shared Odoo workers. Complete data isolation with shared compute resources.

Isolation
Medium
Cost
Medium
Complexity
Medium

Advantages

  • Strong data isolation at database level
  • Independent backup and restore per tenant
  • Can have different data sets per tenant
  • Good balance of cost and security

Considerations

  • Shared Odoo workers and compute
  • Same Odoo version across all tenants
  • Resource contention during peak usage
  • Moderate management complexity

Best for: Agencies, resellers, SaaS providers with similar client requirements

Fully Isolated

Separate containers per tenant

Each tenant runs in their own Docker container with dedicated Odoo workers, database, and resources. Maximum isolation and customization.

Isolation
High
Cost
High
Complexity
High

Advantages

  • Complete compute and data isolation
  • Different Odoo versions per tenant
  • Custom modules per tenant
  • Guaranteed resource allocation
  • Enterprise-grade compliance

Considerations

  • Higher infrastructure costs
  • More complex management
  • Higher minimum resource per tenant
  • Requires more DevOps expertise

Best for: Enterprise clients, regulated industries, agencies with diverse client needs

FeatureShared DatabaseIsolated DatabasesFully Isolated
Data IsolationApplicationDatabaseContainer
Custom Modules per TenantNoNoYes
Different Odoo VersionsNoNoYes
Resource GuaranteesSharedSharedDedicated
Independent BackupsNoYesYes
Compliance ReadyLimitedGoodFull
Cost per Tenant$5-15$15-40$50-200

Multi-Tenant Architecture Diagram

Visual representation of how OEC.sh implements multi-tenant isolation.

OEC.sh Management Dashboard
Centralized Control Plane
Load Balancer / Traefik
SSL Termination & Routing
Tenant A
client-a.oec.sh
Odoo Container
Workers + Filestore
PostgreSQL DB
Isolated Database
Tenant B
client-b.oec.sh
Odoo Container
Workers + Filestore
PostgreSQL DB
Isolated Database
Tenant C
client-c.oec.sh
Odoo Container
Workers + Filestore
PostgreSQL DB
Isolated Database
Management Layer
Network Layer
Tenant Isolation Boundary

Security Considerations

Critical security aspects to address in any multi-tenant deployment.

Data Isolation

Ensure tenant data cannot be accessed by other tenants through application bugs, SQL injection, or misconfiguration.

Access Control

Implement role-based access control (RBAC) to ensure users only access their assigned tenants.

Backup Separation

Maintain separate backup streams per tenant with independent retention policies and restore capabilities.

Compliance (GDPR)

Support per-tenant data residency, right to deletion, data portability, and audit logging requirements.

Performance Considerations

Ensure consistent performance across all tenants with proper resource management.

1

Resource Allocation

Define CPU, memory, and storage limits per tenant to prevent resource starvation and ensure fair usage.

2

Database Connection Pooling

Use pgBouncer to efficiently manage database connections across multiple tenants and reduce PostgreSQL overhead.

3

Horizontal Scaling

Add more Odoo workers or servers to handle increased tenant load. Load balance across multiple instances.

4

Vertical Scaling

Upgrade server resources (CPU, RAM) for high-demand tenants. Move large tenants to dedicated infrastructure.

Pro Tip: Database Connection Pooling

OEC.sh uses pgBouncer for connection pooling out of the box. This is critical for multi-tenant deployments where hundreds of database connections can quickly exhaust PostgreSQL resources.

With pooling, 100 tenants each with 10 connections only require ~50 actual PostgreSQL connections, dramatically improving database performance and reducing memory usage.

Cost Analysis

Understanding the cost implications of each architecture approach.

ApproachTypical TenantsCost per TenantTotal Monthly CostWhen to Use
Shared Database10-50$5-15/mo$50-200/moBudget-conscious, trusted internal clients, simple requirements
Isolated Databases5-20$15-40/mo$75-500/moAgencies, resellers, clients needing data isolation
Fully Isolated1-10$50-200/mo$50-1000/moEnterprise clients, regulated industries, custom requirements

Resource Sharing Benefits

Multi-tenant deployments typically achieve 40-60% cost savings compared to dedicated hosting per client. Shared infrastructure, pooled resources, and centralized management reduce both hosting costs and operational overhead.

When to Upgrade

Move tenants to higher isolation tiers when they exceed resource limits, require custom modules, need dedicated support SLAs, or have compliance requirements that demand full container isolation.

OEC.sh Platform

Multi-Tenant Features on OEC.sh

Purpose-built tools for agencies and SaaS providers managing multiple Odoo deployments.

Easy Tenant Provisioning

Create new tenant deployments in minutes with automated setup of databases, SSL, DNS, and backups.

Per-Tenant Resource Allocation

Set CPU, memory, and storage limits for each tenant. Monitor usage and scale resources as needed.

Centralized Management Dashboard

Manage all tenants from a single interface. Deploy, monitor, backup, and support across your entire fleet.

White-Label Options

Brand the platform as your own. Custom domains, logos, and client portals for a seamless agency experience.

Multi-Cloud Deployment

Deploy tenants to AWS, GCP, Azure, DigitalOcean, Hetzner, or any cloud. Meet data residency requirements.

Automated Backups

Per-tenant backup scheduling with configurable retention. Store backups in multiple locations for redundancy.

Running an Odoo agency? See how OEC.sh can help you scale your hosting business.

Explore Agency Features

Who Uses Multi-Tenant Odoo Hosting?

Multi-tenant architecture serves different needs across various business models. Find the right fit for your organization.

Odoo Agencies and Partners

Manage all client Odoo deployments from a single dashboard. Offer white-label hosting as part of your service package. Scale from 5 to 500+ clients without adding infrastructure complexity.

  • 70-85% profit margins on hosting
  • White-label branding options
  • Centralized client management
Learn about Agency Plans

Enterprise Organizations

Run separate Odoo instances for different business units, subsidiaries, or regions. Maintain data separation while centralizing IT operations and compliance.

  • Subsidiary and regional isolation
  • GDPR and data residency compliance
  • Enterprise-grade SLAs
Enterprise Solutions

SaaS Providers

Build your own Odoo-based SaaS product. Onboard customers automatically, bill based on usage, and scale infrastructure as you grow.

  • API-driven tenant provisioning
  • Usage-based billing integration
  • Elastic scaling for demand
View Pricing Plans

Frequently Asked Questions

Common questions about multi-tenant Odoo hosting

What is multi-tenant Odoo hosting?

Multi-tenant Odoo hosting allows you to run multiple separate Odoo instances or clients from a single management interface. Each tenant (client) has their own isolated data, users, and configurations while sharing the underlying infrastructure. This is ideal for agencies, resellers, and SaaS providers who manage multiple Odoo deployments.

Which multi-tenant architecture is best for my use case?

The best architecture depends on your requirements. Shared database (single db, multiple companies) is cost-effective but has limited isolation. Isolated databases provide better security with moderate costs. Fully isolated containers offer maximum security and customization for enterprise clients. Most agencies use isolated databases for the balance of security and efficiency.

How does tenant data isolation work?

OEC.sh provides multiple isolation levels. At minimum, each tenant has a separate PostgreSQL database. With fully isolated deployments, each tenant runs in their own Docker container with separate compute resources, storage, and network isolation. This ensures one tenant cannot access another's data under any circumstances.

Can I offer different Odoo versions to different tenants?

Yes, with isolated database or fully isolated container architectures. Each tenant can run a different Odoo version (16, 17, 18), have different custom modules installed, and use different configurations. This flexibility is essential for agencies managing diverse client requirements.

How do I handle tenant-specific backups?

OEC.sh provides per-tenant backup capabilities. Each tenant's database and filestore are backed up independently on your configured schedule. Backups can be stored in different locations per tenant for compliance requirements, and restores are performed without affecting other tenants.

What about GDPR compliance for multi-tenant setups?

OEC.sh supports GDPR requirements through complete data isolation between tenants, the ability to deploy tenants in specific geographic regions (EU, US, etc.), per-tenant data export and deletion capabilities, and audit logging of all access. You can demonstrate to regulators that tenant data is fully isolated.

How does pricing work for multi-tenant deployments?

Pricing is based on the resources allocated to your tenants. You pay for the aggregate compute, storage, and bandwidth used across all tenants. Shared infrastructure (isolated databases on shared servers) is most cost-effective. Fully isolated containers cost more but provide guaranteed resources. See our pricing page for detailed breakdowns.

Start Your Multi-Tenant Platform

Ready to Scale Your Odoo Hosting?

Deploy your first tenant in minutes. Scale to hundreds with our enterprise-grade platform.

Custom multi-tenant setups available for enterprise requirements. View our pricing plans for detailed tier information.