Instruction for manual installation =================================== *Use saas.py script for automatic installation* 1. 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 `__ for understanding db filter and database parameters. * execute commands below to allow crear bases de datos con puntos en el nombre:: cd path/to/odoo sed -i 's/matches="[^"]*"//g' addons/web/static/src/xml/base.xml * Si ejecutas Odoo localmente, agrega los dominios que vas a usar a /etc/hosts. Ejemplo:: 127.0.0.1 odoo.local # portal 127.0.0.1 s1.odoo.local # server 127.0.0.1 t1.odoo.local # template 127.0.0.1 t2.odoo.local # template 127.0.0.1 client-x.odoo.local 127.0.0.1 client-y.odoo.local 127.0.0.1 client-z.odoo.local * Redirige las peticiones a esos dominios a localhost:8069 (por ejemplo, usando nginx) * asegúrate de que Odoo reciba el header Host, por ejemplo para 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 2. 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 3. Configure **Server Database** * Activate the developer mode via "(?)/About" menu at the top right-hand corner * 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/auth`` * ``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. 4. Configure **Main Database**: * open Settings/SaaS Portal Settings * set *Base SaaS domain*, e.g. **odoo.local** * click Apply (do it even if you didn't make changes) 5. 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] 6. 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] 7. Prepare Template Database for Plan * click [Log in to template DB] at Plan's form * click log in link * 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. 8. 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 9. Get more * check description of other saas_* modules to get more features