Odoo Saas
5 March, 2021 by
Odoo Saas

Instruction for manual installation
Use saas.py script for automatic installation

Configure Odoo installation * set dbfilter in config file or run odoo with –db-filter parameter, e.g. ^%h$

be sure, that you don’t use db_name in config file and don’t run odoo with -d (–database) parameter
check [odoo documentation](https://www.odoo.com/documentation/8.0/reference/cmdline.html) for understanding db filter and database parameters.
execute commands below to allow create databases with dots in name:
> cd path/to/odoo

> sed -i ‘s/matches=”[^”]*”//g’ addons/web/static/src/xml/base.xml

If you run odoo locally, add domains you are going to use to /etc/hosts. E.g.
> odoo.local # portal

> s1.odoo.local # server

> t1.odoo.local # template

> t2.odoo.local # template

> client-x.odoo.local

> client-y.odoo.local

> client-z.odoo.local

Redirect requests to domains above to localhost:8069 (e.g. via nginx) * be sure, that odoo gets host header, e.g. for nginx:

> proxy_set_header Host $host;

> proxy_set_header X-Real-IP $remote_addr;

> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

> proxy_set_header X-Forwarded-Proto $scheme;

install dependencies: * oauthlib:

pip install oauthlib
requests * pip install requests –upgrade
Create two databases (via /web/database/manager):

Main Database, e.g. odoo.local: * install saas_portal and saas_portal_* (optional) modules
Server Database, e.g. s1.odoo.local * install saas_server
Configure Server Database * Tick “Technical Features” for admin at Settings/Users/Users – Administrator

Refresh page
Open Settings/Users/OAuth Providers – SaaS * click [Edit] * update domain name at “Authentication URL” and “Validation URL”, change http to https if needed. E.g.

http://odoo.local/oauth2/tokeninfo * Edit Body according to your brand * click [Save]
remember value of Client ID field. It’s a database.uuid of SaaS Server.
Configure Main Database: * open Settings/Configuration/SaaS Portal Settings

set Base SaaS domain, e.g. odoo.local
click Apply (do it even if you didn’t make changes)
Register Server Database in Main Database * open SaaS/SaaS/Servers

click [Create]
set Database Name, e.g. s1.odoo.local
fix autogenerated Database UUID to actual one (see previous section)
click [Save]
Create Plan * open Saas/SaaS/Plans

click [Create]

set Plan’s name, e.g. “POS + ECommerce”

set SaaS Server

set Template DB: type name, e.g. t1.odoo.local, and click Create “__t1.odoo.local__”

click [Save]

click [Create Template DB].

wait couple minutes while Database is being created.
click [Sync server]
Prepare Template Database for Plan * click [Log in to template DB] at Plan’s form

be sure that you allow pop-ups in your browser
install modules that will be used for Plan, e.g. point_of_sale, website_sale
make any other changes in database if needed. E.g. configure chart of accounts.
open Settings/Users/Users – onwer_template. Configure Access Rights for Owner.
Try to create database from template * open SaaS/Saas/Plans – select plan

click [Create Client]

set DB Name, e.g. client-x.odoo.local

click [Create]

wait couple minutes while Database is being created.
click [Sync server]
open SaaS/SaaS/Client – choose client * click [Configure]

open Parameters tab
add parameter “Max Users”, set Value 2
click [Execute]
click [Close]
click [Log in] * you see created database * try to create new user to test “Max Users” setting
Get more * check description of other saas_* modules to get more features


Read Next