Simple SAAS

by
Odoo

251.62

v 15.0 Third Party 1
Required Apps Invoicing (account)
Lines of code 1255
Technical Name dx_saas_dbfilter
LicenseOPL-1
Websitehttps://dxeg.net
Also available in version v 16.0 v 14.0
You bought this module and need support? Click here!
Required Apps Invoicing (account)
Lines of code 1255
Technical Name dx_saas_dbfilter
LicenseOPL-1
Websitehttps://dxeg.net
Also available in version v 16.0 v 14.0

Please install this required packages and programmes before using this module
pip install paramiko
apt/yum install nginx
apt/yum install curl
if you plane to use letsencrypt certifications please install this package
wget -O - https://get.acme.sh | sh
after this close terminal and start new one
then run this command > acme.sh --set-default-ca --server letsencrypt
Change this parameter in odoo config file "dbfilter" to "dbfilter = ^%h" this is for only showing database that matches URL.


What is this module?

This module allows you to sell odoo as service (SAAS) just like odoo online This module uses odoo dbfilter configuration wich allows you to host many database on
the same odoo installation without seeing each other


This module include Two modules other module included as zipped file
1- dx_saas_dbfilter

This module is the main module it must be installed on the main server
It has all main functionality for example Control servers and subscriptions


2- dx_users_modules_control Tested on odoo 15 only

This module installed on client server to control users number and modules installations

Features

  • No Technical Experience Required
    • Entry level of experience allows you to start you odoo SAAS Service
    • Control your clients with few buttons
    • Cron to stop ended subscriptions automatically
    • Installing ssl certifications and configure nginx for it automatically
  • Sell your SAAS packages on website
    • You can link SAAS packages with product to be enable to sell it on website
    • After client payment is done new SAAS subscription will be created
      And email will sent to client email with his login information
  • Portal Access
    • You can allow your client to see their subscriptions
    • They can backup their subscriptions database in (Zip or Dump) formats
  • Unlimited servers
    • Control any number of servers
  • Actions supported
    • Create new clients DB and create nginx required configs automatically
    • Stop clients subscription and redirect domain automaticly to ended subscription page
    • Start stopped subscription again
    • Cancel clients subscription, delete related database and remove all nginx config files
    • Backup your client db with just one click
  • Odoo version supported to control
    • Starts from version 8.0 to version 15.0

How to use


Add Odoo Versions

Add Module
1- Modules Menu
2- Modules technical name for example (account, crm, sale) 3- Modules description

Add Modules Package

This helps you organise your modules in packages to sell it easily


1- Package name
2- Modules in this package (account, crm, sale)

Add New Server
1- Server Name
2- Server URL Protocl (http or https)
3- Your odoo installation url/ip without adding protocol (http or https)
4- Your odoo master password (required for managing odoo databases)
5- You main server port if you user odoo behinde reverse proxy without ssl it would be 80 if you use odoo with reverse proxy and ssl it will be 443 and if you use odoo without reverse proxy it will be your odoo http port ex 8069
6- http_port can be found in you odoo installation config file
7- longpolling_port can be found in you odoo installation config file
8- Priority for using this server on new created subscriptions from website (Low number mean high priority)
9- Main domain used for new subscriptions created from website
10- Optional field for your installation odoo version
11- Optional field for your installation odoo variant (Enterprise or community)
12- SSH username you have to make sure that this user have admin privileges without adding sudo This is used for creating nginx configs and restarting it
13- SSH Password
14- SSH Connection port
15- Server Country
16- Server State
17- Enable it if you have custom database manager routes
18- Enable it if you have custom nginx directories

Custom database manager routes please change it carefully because any wrong will not make this module work as expected

Custom Nginx directories and restart command


Confirm server to make it available for new subscriptions

Add New Subscription
1- Client Name
2- Destination server to create this subscription on
3- This subscription domain that will be used as database name and in nginx redirection as server name
4- Subscription packages
5- Subscription users count (System users)
6- Subscription start
7- Subscription end
8- Create lets encrypt certification for this subscription and use it in nginx configurations
9- Subscriotion login username it uses client email and if null it will be admin
10- Login password to this database and it is random number

Confirm subscription after it confirmed you can not modify its data again

Create subscription datase and if you enabled CREATE SSL CERTIFICATION it will create letsencrypt certification and use it in nginx configurations

After creating db subscription state will change to running and both backup and send details to client button will be available

Stopping subscription will redirect requests to "Ended subscription page".
You can start it again with StartDB Button

Cancelling subscription will delete its database and all related nginx configuration

Add New product to sell saas on website
1- Enable it to open SAAS service page
2- SAAS Service page
3- SAAS Packages To Sell
4- User count for new subscriptions created from this product purchase

Module Settings
1- Grace period setting is for how many days before stopping ended subscriptions.
2- Enable creating letsencrypt certifications for new purchased subscription from website
3- Subdomain start word for new clients who is there name not in english characters

Cron for stopping ended subscription.

Portal users can see thier subscriptions and backup it

How to Setup Users And Modules Control Module


Open models/config.json File with any text editor
1-enabled To enable this module
2-backend Your server url where module dx_saas_dbfilter installed

Email: info@dxeg.net
Odoo Proprietary License v1.0
This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).
You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.
The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.