Skip to Content

Contributors

Re: Multi Tenant Self Hosted Enviroments

I am all in on Terraform/AWS and I never surface the control plane at all. An isolated container pipeline creates a new database, then an internet-accessible ECS cluster provides access to it (with the control plane disabled).

On Mon, May 22, 2023 at 5:52 AM Xavier Brochard <notifications@odoo-community.org> wrote:
Le 21.05.2023 23:32, Charles Gucker a écrit :


> On Sun, May 21, 2023 at 12:22 PM Xavier Brochard


>> In case Cloudpepper is not what you want, Ivan Yelizariev has made a


>> package to help multi tenant Odoo hosting (see its modules on


>> apps.odoo.com). There is also some bash scripts from the french 


>> provider


>> Sisalp that you can download from http://download.sisalp.net/scripts/.


>> You might also use the Yunohost solution, there is a good Odoo package


>> (any version).


> Thank you, I'm going to dig into the scripts.  I also took a look at


> Yunohost and it seems a little basic based on my background and


> experiences.

Yunohost is not so basic : while its purpose is to help beginners to 
self-host, it is also good if you want to not forget something, start 
with all annoying tasks done automaticaly and save time, as it is 
complete and well configured. **And you can allways do what you want 
with it.**
It is also good if you need to try Odoo with Etherpad, NextCloud, 
LibreOffice, etc.



> I'm


> trying to understand how Odoo got to the point of multi-domain (being


> able to add multiple websites) in the data plane, but not breaking


> away the control plane (configuration functions) from the remaining


> data plane functions.  That is, dbfilter is intended to assign a


> specific host or FQDN to facilitate the control plane functions, but


> there isn't a function to administrate the relationships with the data


> plane.  In other words, within Odoo, there is no way to dynamically


> maintain a list of vhost domains and associate them with their


> respective databases and actually see the state of each vhost as they


> relate to their database and mark them as active or inactive, which


> would allow for the duplications or migrations from one database to


> another without collisions.

Don't forget to have a look on Yelizariev solution. You can ask him if 
you don't find his modules.
There was also some useful OCA modules in the past.



>  I too ran a service provider in the early 90s

Sometimes I miss this pleasant time, when there was a lot of new things 
to invent !

Best
Xavier

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe


by Adam Heinz - 05:00 - 22 May 2023

Reference

  • Multi Tenant Self Hosted Enviroments
    Greetings,
    
          I have been struggling to set up a multi-tenant, self hosted
    Odoo environment.   The purpose of multi-tenant in my deployment, I am
    referring to having multiple clients, who will each want to "own" and
    manage their instance / database of Odoo.   That is, being able to set
    up multiple websites, shops, with consolidated invoicing and services
    already provided by Odoo.
    
          I understand that I can set up separate VMs which would each
    point to a specific database.   But it would require additional
    resources to deploy each VM to maintain the OS instances required.
    As a result, I am looking to consolidate the deployments as much as
    possible.   This way I can configure clients and then break them out
    if/when it's needed.
    
         I am running Odoo 16, self hosted.   I started to go down the
    path to try and force clients to use their specific domain name, but
    that became an issue because dbfilter can associate between a fully
    qualified hostname, or just the hostname itself.   It wasn't built to
    go the other direction.   Then I ran into the problem of a client
    needing to use multiple domains and how to associate them to their
    respective databases.   I tried to do much of this logic within nginx,
    but even then I ran into problems with modifying HTTP headers and then
    losing the desired outcome.
    
         Does anybody know if I'm missing something, or would I really
    have to kickoff an Odoo instance for each client with their own
    distributed TLS/SSL cert, DB and front-end server ?   I would really
    like to find a solution that would scale and I know a lot of people
    have made it scale.  I'm just missing some pieces to do the same.
    
    Thank you,
    Charles
    

    by cgucker - 07:46 - 20 May 2023