Skip to Content
DevOps Manager
devops_manager

DevOps Manager

Deploy, host and bill fleets of Dockerized Odoo servers and SaaS tenants from one screen

v19.0.3.0.0 Abdelfatah Mohammad (AlshayebCo) DevOps & Infrastructure Application

Inherits settings (global ir.config_parameter defaults) and journal entry (adds saas_subscription_id), and extends sales order, ir.module.module and product. Hub model devops server talks to remote hosts over two channels: paramiko SSH/SFTP for host-level work and HTTP to a remote Flask Manager (synchronous _api_request plus a polling _api_request_async). Heavy operations (deploy, manager update, tenant provision) run through an internal devops job queue drained one-per-minute by an ir.cron. Eight ir.cron jobs cover status checks, stats collection, scheduled backups, tenant expiry, job processing and cleanup, and subscription invoice generation. Two OWL widgets stream a deploy terminal (3s polling) and live logs (5s polling). A public website portal (controllers/saas_portal.py) drives the SaaS plans, signup, trial/buy checkout, dashboard and per-tenant management. SaaS plans support fixed and per-user metered pricing with monthly/yearly recurrence via sale_subscription.

Overview

Hosting Odoo for multiple clients normally means juggling SSH sessions, Docker commands, Nginx configs, SSL certificates and manual backups across many servers. DevOps Manager turns a single Odoo instance into a control plane that provisions servers, deploys a full Dockerized Odoo stack over SSH, and manages containers, repositories, backups and monitoring through a remote Manager API. It also runs a complete SaaS reseller platform: a public website where customers pick a plan, sign up, and get their own isolated Odoo tenant with a custom domain, automatic SSL and recurring subscription billing.

Workflow

Devops Server

Draft
Deploying
Online
Offline
Error

Devops Saas Tenant

Draft
Provisioning
Active
Suspended
Terminated

Devops Container

Running
Stopped
Unknown

Devops Saas Subscription

Active
Cancelled

Key Features

  • Provision Hetzner cloud servers and deploy a complete Dockerized Odoo stack (live, stage, PostgreSQL and a Manager API) to any host over SSH.
  • Control Docker containers with one-click start, stop, restart, rebuild and image pull, plus a live deploy terminal that streams progress.
  • Clone and pull Git repositories with submodule and SSH deploy-key support, install extra Python packages, and pick the target Odoo version per server.
  • Schedule database backups with retention limits and automatic retry, then download, restore or import databases directly from Odoo.
  • Monitor container CPU, memory, network and disk usage over time with configurable alert thresholds and auto-refreshing live log viewers.
  • Run a SaaS hosting business with per-tenant isolated Odoo instances, plans, per-user seat limits and a tenant lifecycle from draft to terminated.
  • Offer customers a public website to compare plans, configure seats, sign up for a trial or buy online with subscription checkout.
  • Manage custom domains with CNAME/TXT DNS verification, automatic Let's Encrypt SSL and optional Hostinger DNS automation.
  • Generate recurring subscription invoices automatically and one-click log in to any managed instance via a secure HMAC token.
  • Operate everything unattended via eight background jobs that check server health, collect stats, run backups, bill subscriptions and expire tenants.

Technical Details

Technical Name devops_manager
Version 19.0.3.0.0
License LGPL-3
Domain DEV · DevOps & Infrastructure

Menu Structure

DevOps
SaaS
Status Dashboard
Tenants
Plans
Custom Domains
Servers
All Servers
Containers
Backups
Backup Schedules
Backup History
Resource Monitoring
Operation Logs
Module Install/Upgrade
Cloud (Hetzner)
New Cloud Server
Server Types
Locations
OS Images
Configuration
Settings
Repository Templates
Odoo Versions
Python Packages

Security

Two roles under a dedicated DevOps privilege: Users get read-only visibility into servers, containers, backups, plans and tenants, while Managers have full create/edit/delete control and exclusive access to all operational wizards (one-click login, module install/upgrade, restore, database import, cloud provisioning). Global multi-company record rules keep servers and SaaS tenants scoped to the company that owns them.

DevOps / User (read-only operator) DevOps / Manager (full administration)

Dependencies

base mail base_setup website portal account auth_signup sale_subscription

External Dependencies

paramiko hostinger_api hcloud