- Mailing Lists
- Contributors
- Re: Multi Tenant Self Hosted Enviroments
Archives
- By thread 1419
-
By date
- August 2019 59
- September 2019 118
- October 2019 165
- November 2019 97
- December 2019 35
- January 2020 58
- February 2020 204
- March 2020 121
- April 2020 172
- May 2020 50
- June 2020 158
- July 2020 85
- August 2020 94
- September 2020 193
- October 2020 277
- November 2020 100
- December 2020 159
- January 2021 38
- February 2021 87
- March 2021 146
- April 2021 73
- May 2021 90
- June 2021 86
- July 2021 123
- August 2021 50
- September 2021 68
- October 2021 66
- November 2021 74
- December 2021 75
- January 2022 98
- February 2022 77
- March 2022 68
- April 2022 31
- May 2022 59
- June 2022 87
- July 2022 141
- August 2022 38
- September 2022 73
- October 2022 152
- November 2022 39
- December 2022 50
- January 2023 93
- February 2023 49
- March 2023 106
- April 2023 47
- May 2023 69
- June 2023 92
- July 2023 64
- August 2023 103
- September 2023 91
- October 2023 101
- November 2023 94
- December 2023 46
- January 2024 75
- February 2024 79
- March 2024 104
- April 2024 63
- May 2024 40
- June 2024 160
- July 2024 80
- August 2024 70
- September 2024 62
- October 2024 121
- November 2024 117
- December 2024 89
- January 2025 59
- February 2025 104
- March 2025 96
- April 2025 107
- May 2025 52
- June 2025 72
- July 2025 60
- August 2025 81
- September 2025 124
- October 2025 63
- November 2025 22
Contributors
Re: Multi Tenant Self Hosted Enviroments
Let me respond inline. On Sun, May 21, 2023 at 12:22 PM Xavier Brochard <notifications@odoo-community.org> wrote: > > 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. I'm not adverse to getting my hands a little dirty, I just didn't want to recreate the wheel with my own efforts. I've been giving my original question some additional thought. 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. I am aware that I am drifting into the core components of Odoo, but if there was a way to assign a specific "control plane domain", the dbfilter could be used just on that domain to facilitate control plane functionality, while all of the data plane functionality would be presented within the GUI and dynamically serve the active domains without having to be handled by the dbfilter. This would allow central administration via the tenant_name.mycontrolplane.com, while allowing all of their configured domains, provided there are no conflicts with other tenants would not be subject to the dbfilter. It would make the reverse proxy configuration a lot easier as well, as all queries would just be forwarded and no domain specific configurations would be required. Is this line of thinking correct, or am I missing something? Also, if this functionality existed, a multi-tenant setup would be able to be accomplished without the need to do any external tinkering from Odoo, except for the TLS certificates, but there's a module for that. > But beware, self-hosting require work. While it's easy for personal > projects, it require a lot of time when it comes professional. I ran a > hosting company in the 90's, I know what I am talking about. I didn't > knew about Cloudpepper, but it looks very good. I am very well aware of the work required to perform self-hosting functions. I too ran a service provider in the early 90s and evolved to run the platform engineering team for a large scale digital advertising provider. I'm not afraid of automation or orachistration, but only when absolutely needed. If we can fix my concerns within the application, it would require a lot less of an effort to administrate. Personally, if things went this well, I'd rather put my time and effort into scaling with a CDN provider than continue to tinker with Odoo's current lack of control plane scalability. For the time being, I'm going down the path of a single tenant per instance, but once I get this not for profit setup, I'll return into figuring out what is required to resolve what I see as a control plane issue without removing existing functionality. Thank you again for your recommendations, it's much appreciated. Charles
by cgucker - 11:31 - 21 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