Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
291 Представления


I want each tenant to have:


Separate DB (one per tenant)


Shared base code and core modules


Custom modules per client


White-label branding managed from UI (not code)


Easy CI/CD for updates and Docker deployments


Any recommended Git structure or deployment best practices for scalability and maintenance?

Аватар
Отменить
Лучший ответ

To manage a multi-tenant Odoo Community setup with white-label support, consider the following architecture:


Separate Databases per Tenant: Each tenant should have its own database for data isolation.


Shared Base Code & Core Modules: Maintain a common codebase for core functionality and base modules, ensuring consistency across tenants.


Custom Modules per Tenant: Use a modular approach, storing custom modules in tenant-specific directories or repositories, and referencing them in the main codebase.


White-label Branding: Store branding configurations (logo, theme, etc.) in the res.company model to allow UI-based customization per tenant, without code changes.


Git Structure:


Monorepo: Store shared core code and tenant-specific modules in a single repository with organized directories.

Example structure:

odoo-setup/

├── core/

├── tenant_1_modules/

└── tenant_2_modules/

CI/CD & Docker Deployment:


CI/CD: Automate deployments using tools like GitLab CI or Jenkins, ensuring proper testing and versioning.


Docker: Use Docker to containerize Odoo with shared base code and tenant-specific modules. Docker Compose or Kubernetes can orchestrate multiple tenant environments.


Scalability & Maintenance:


Database Management: Use Odoo’s --db-filter for tenant-specific databases.


Monitoring: Implement monitoring tools like Prometheus and centralized logging for system health and troubleshooting.

Аватар
Отменить
Related Posts Ответы Просмотры Активность
2
июл. 24
3103
2
мая 24
8361
1
февр. 24
2595
1
нояб. 22
6588
2
сент. 22
25104