Before we start Please prepare this requirements
- Make sure you have root access to your servers
- Install your required odoo version on master and slave servers
- Download dx_saas_dbfilter and dx_users_modules_control
The documentation will be divided into two parts
- Install and configure module on slave server
- Install and configure module on master server
Slave server
Download module dx_users_modules_control choose correct version for your odoo version
- Decompress file
- Got extracted directory and open file "config.json" with your favorite text editor
- Change enabled to "True" Please copy it because it is case sensitive
- Change backend value to your odoo master URL
- Save file and compress directory again
Prepare requirements
- Install nginx (apt/yum install nginx)
- Upload modified "dx_users_modules_control" to your odoo installation addons directory
- Add this parameter to your odoo installation configuration file (dbfilter = ^%h)
- Restart your odoo service
Optional step
if you plane to use letsencrypt certifications please install this package
wget -O - https://get.acme.sh | sh
After this
/root/.acme.sh/acme.sh --set-default-ca --server letsencrypt
Master server
Prepare requirements
- Install paramiko python package (pip install paramiko)
- Install curl (apt/yum install curl)
- Upload (dx_saas_dbfilter) to your odoo installation addons directory
- Restart your odoo service
Install module
- Enable developer mode on - Go to settings and navigate down then press Activate the developer mode
- Go to APPs menu and press Update Apps List Then press Update
- Search for "dx_saas_dbfilter" then click Activate/Install
- After install module give your user required permission for managing SAAS module
Configure Module
After install module successfully and get required permission refresh page to see new installed module
1- Open module menu
2- Configure module settings
Go to >> Configuration/Settings
- Setting menu
- Grace period for ended subscription
- Enable auto creating SSL certfication for newly purchased SAAS service via website
- Domain start for new subscription purchased via website if registered user company or name is not in Latin character
3- Configure Versions
Go to >> Configuration/Odoo Versions
Create new record for your versions
- Odoo Versions Menu
- Your version number
4- Configure Versions
Add modules name to group theme in packages after this
Go to >> Configuration/Module
Create new record for your modules
- Modules menu
- Technical name for module you want to install on your clients database
- Your module description
5- Configure Packages
This helps you organise your modules in packages to sell it easily
Go to >> Configuration/Packages
Create new record for your packages
- Packages menu
- Your package name
- Modules included in this package
Add your first server
Go to >> Servers Menu Click new button to create server
- Servers menu
- Confirm button
- Server name
- URL protocol
- Your server URL without protocol
- Master database password for this server
- Public HTTP port
- Local port for your odoo installation if your odoo installation is behind and proxy like Nginx
- Longpolling port as defined in your odoo configuration file
- Domain used for newly created subscription on this server
- Odoo version
- Odoo variant
- SSH user name
- SSH password
- SSH port
- Country of server
- State of server
- Custom database routes if your are using non standard routes
- Custom nginx directories if you are using non standard directories
Add your first client subscription
Go to >> Subscriptions Menu Click new button to create subscription
- Subscriptions Menu
- Confirm button
- Your client
- Create subscription on this server
- Subscription domain
- Package
- Users count
- Login -it generated using client email and if no email it will be admin
- Password - random password
- Start date
- End date
- Create SSL certification
- Subscription State
Create subscription database
After confirming subscription a new buttons will be visible
- Create Database
- Cancel subscription
- Subscription state
Install Subscription modules
After press Create DB creating database process will be sent to clients/slave server
After creating database it will install modules defined in package automatically
If It failed in any step a button for field step will be shown
- Stop Database
- Install modules on client database - This button will be visible if it failed to install it when creating database
- Cancel subscription - Be aware that this action is not reversible and it delete client database
- Download backup of this database
- Send subscription details to customer via email
- Subscription state
- Log with failed action
Reinstall subscription modules
After press install modules A success message is logged and Install modules button is now shown anymore
Send details to client
Wizard to send details to customer email