Skip to content

DBfilter Servers

1. Server Overview

DBfilter servers are Odoo instances configured to host multiple subscription databases, routing requests via the DB Filter mechanism based on domain name.

Connection Fields

  1. Name - Server display name (required, tracked)
  2. IP - Server IP address (required, tracked)
  3. Odoo URL - Full URL including port and schema (tracked)
  4. Odoo HTTP Port - HTTP port from config file (required, default: 8069, tracked)
  5. Odoo WebSocket Port - WebSocket port (default: 8072, tracked)
  6. Odoo Version - Version name for client display (required, tracked)
  7. Master Password - Database manager master password
  8. State - Server status: Draft, Confirmed, or Cancelled (tracked)
  9. Active - Archive toggle (default: True)
  10. Country - Server location country
  11. State - Server location state/province

Database API Routes

  1. Create DB Path - API route for database creation (default: /web/database/create, tracked)
  2. Drop DB Path - API route for database deletion (default: /web/database/drop, tracked)
  3. Backup DB Path - API route for database backup (default: /web/database/backup, tracked)
  4. Restore DB Path - API route for database restoration (default: /web/database/restore, tracked)
  5. Custom DB Routes - Enable custom database manager routes (tracked)

Subscription Configuration

  1. Domain for New Subscriptions - Main domain for auto-generated subdomains (tracked)
  2. Subdomain Start - Prefix for auto-created subdomains (tracked)
  3. Default Language - Language for new databases (default: ar_001, tracked)
  4. Default Country Code - Country code for new databases (default: sa, tracked)
  5. SAAS Slave Enabled - Enable SAAS slave feature (tracked)

Infrastructure

  1. Nginx Proxy Server - Nginx connector for proxy configuration (required, tracked)
  2. Nginx Default Cert ID - Default SSL certificate ID (tracked)
  3. Cloudflare DNS - Enable Cloudflare DNS management (tracked)
  4. Cloudflare Account - Cloudflare connector (tracked)
  5. Cloudflare Domain Zone ID - Zone ID for DNS operations (tracked)
  6. Cloudflare Create Record - Auto-create DNS records (tracked)
  7. Cloudflare Proxied Record - Proxy records through Cloudflare (tracked)

Capacity

  1. Expected Capacity - Maximum subscriptions this server should host (tracked)
  2. Subscriptions Count - Total subscriptions on this server (computed)
  3. Active Subscriptions Count - Running/confirmed/stopped subscriptions (computed)
  4. Available Capacity - Remaining slots: expected - total (computed)
  5. Capacity State - Normal or Over Capacity (computed)

2. Server Lifecycle

Draft → Confirmed → Cancelled
Action Description
Confirm Makes the server available for subscriptions
Reset to Draft Returns to editable state
Cancel Deactivates the server

Deletion Protection

A server cannot be deleted if it has linked subscriptions.


3. Server Groups

Server groups provide load balancing by logically grouping DB Filter servers. When creating subscriptions, the system auto-selects the best server from the group.

Fields

  1. Name - Group name (required, tracked)
  2. Odoo Version - Version filter for servers in this group (required, tracked)
  3. Description - Group description
  4. Country Group - Geographic region for this group
  5. Servers - Ordered list of servers with drag-to-reorder (One2many)
  6. Server Count - Number of servers (computed)
  7. Select Server By - Load balancing strategy (tracked):
    • sequence - Pick by priority order
    • used - Pick server with most available capacity

Load Balancing

When get_best_server() is called, it returns the optimal server based on the group's selection strategy. Products reference a server group, and subscriptions inherit the best available server at creation time.