Installation
This page covers how to install the Sadeem SaaS Package modules into your Odoo 18.0 instance. Complete the Prerequisites before starting.
Step 1: Install the Python Dependency
The sadeem_saas_base module requires paramiko for SSH connectivity. Install it on the server running Odoo:
pip install paramiko
# or, if using a virtualenv:
/path/to/odoo/venv/bin/pip install paramiko
Restart Odoo after installing the library.
Step 2: Copy Modules to the Addons Path
Copy the module directories into one of your Odoo addons paths:
# Example: copying to a custom addons directory
cp -r sadeem_saas_base /opt/odoo/addons/
cp -r sadeem_cloudflare /opt/odoo/addons/
cp -r sadeem_nginx_proxy_manager /opt/odoo/addons/
cp -r sadeem_portainer /opt/odoo/addons/
cp -r sadeem_subscription /opt/odoo/addons/
# ... and any variant modules you need (see Step 4)
Make sure the path is listed in your Odoo config file:
# /etc/odoo/odoo.conf
addons_path = /opt/odoo/addons,/opt/odoo/odoo/addons
Step 3: Install Required Odoo App
queue_job must be installed from the Odoo Apps store before installing any Sadeem module.
- Go to Apps in Odoo
- Search for
queue_job - Install it
Step 4: Choose Your Module Set
Install only the modules that match your deployment strategy. The base layer is always required.
Base Layer (always required)
Install these four modules first, in order:
| # | Module | Purpose |
|---|---|---|
| 1 | sadeem_saas_base |
Core infrastructure — servers, SSH, Git, backups, notifications |
| 2 | sadeem_cloudflare |
DNS management via Cloudflare API |
| 3 | sadeem_nginx_proxy_manager |
Reverse proxy and SSL via NPM API |
| 4 | sadeem_portainer |
Docker orchestration via Portainer API |
| 5 | sadeem_subscription |
Core subscription lifecycle, billing, portal |
Deployment Strategy (pick one)
Docker — each subscription runs as an isolated Docker stack:
| Module | Purpose |
|---|---|
sadeem_saas_docker |
Docker deployment strategy |
sadeem_subscription_trial_docker |
Trial requests with Docker provisioning |
sadeem_subscription_website_docker |
Website plan purchases with Docker provisioning |
DBFilter — multiple customers share a single Odoo instance:
| Module | Purpose |
|---|---|
sadeem_saas_dbfilter |
DBFilter deployment strategy |
sadeem_saas_dbfilter_sync_db |
Import existing databases into subscriptions |
sadeem_subscription_trial_dbfilter |
Trial requests with DBFilter provisioning |
sadeem_subscription_website_dbfilter |
Website plan purchases with DBFilter provisioning |
Optional Add-ons
| Module | Purpose | Requires |
|---|---|---|
sadeem_subscription_trial |
Public trial request form (strategy-agnostic base) | A trial variant module above |
sadeem_subscription_website |
Public plan marketplace (strategy-agnostic base) | A website variant module above |
sadeem_subscription_waha |
WhatsApp notifications via Waha API | sadeem_subscription |
Step 5: Install Modules in Odoo
- Restart Odoo to pick up the new module files
- Go to Apps → Update Apps List
- Search for each module by name and click Install
- Install in dependency order (base layer first, then strategy, then optional)
Developer mode
Enable developer mode (Settings → Activate the developer mode) before installing — it shows more detail if an installation fails.
Step 6: Post-Install Configuration
After installation, a secret key is automatically generated for the Sadeem modules (via post_init_hook). No manual action is needed for this.
Next, configure the infrastructure connections:
- Infrastructure → Root Servers — add your SSH server
- Infrastructure → Cloudflare Accounts — add your Cloudflare API token
- Infrastructure → Nginx Servers — add your NPM instance
- Infrastructure → Portainer Servers — add your Portainer instance (Docker only)
- Infrastructure → Backup Servers — add your backup server URL and API key (optional)
See Your First Subscription for a full walkthrough of the configuration and provisioning flow.
Upgrading
To upgrade to a new version:
- Replace the module directories in your addons path with the new versions
- Restart Odoo
- Go to Apps, find each Sadeem module, and click Upgrade
Warning
Always upgrade sadeem_saas_base before upgrading dependent modules.
Related Pages
- Prerequisites — what you need before installing
- Your First Subscription — configure and provision after installation
- Requirements — full Python and Odoo dependency list