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
- Name - Server display name (required, tracked)
- IP - Server IP address (required, tracked)
- Odoo URL - Full URL including port and schema (tracked)
- Odoo HTTP Port - HTTP port from config file (required, default: 8069, tracked)
- Odoo WebSocket Port - WebSocket port (default: 8072, tracked)
- Odoo Version - Version name for client display (required, tracked)
- Master Password - Database manager master password
- State - Server status: Draft, Confirmed, or Cancelled (tracked)
- Active - Archive toggle (default: True)
- Country - Server location country
- State - Server location state/province
Database API Routes
- Create DB Path - API route for database creation (default:
/web/database/create, tracked) - Drop DB Path - API route for database deletion (default:
/web/database/drop, tracked) - Backup DB Path - API route for database backup (default:
/web/database/backup, tracked) - Restore DB Path - API route for database restoration (default:
/web/database/restore, tracked) - Custom DB Routes - Enable custom database manager routes (tracked)
Subscription Configuration
- Domain for New Subscriptions - Main domain for auto-generated subdomains (tracked)
- Subdomain Start - Prefix for auto-created subdomains (tracked)
- Default Language - Language for new databases (default:
ar_001, tracked) - Default Country Code - Country code for new databases (default:
sa, tracked) - SAAS Slave Enabled - Enable SAAS slave feature (tracked)
Infrastructure
- Nginx Proxy Server - Nginx connector for proxy configuration (required, tracked)
- Nginx Default Cert ID - Default SSL certificate ID (tracked)
- Cloudflare DNS - Enable Cloudflare DNS management (tracked)
- Cloudflare Account - Cloudflare connector (tracked)
- Cloudflare Domain Zone ID - Zone ID for DNS operations (tracked)
- Cloudflare Create Record - Auto-create DNS records (tracked)
- Cloudflare Proxied Record - Proxy records through Cloudflare (tracked)
Capacity
- Expected Capacity - Maximum subscriptions this server should host (tracked)
- Subscriptions Count - Total subscriptions on this server (computed)
- Active Subscriptions Count - Running/confirmed/stopped subscriptions (computed)
- Available Capacity - Remaining slots: expected - total (computed)
- Capacity State -
NormalorOver 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
- Name - Group name (required, tracked)
- Odoo Version - Version filter for servers in this group (required, tracked)
- Description - Group description
- Country Group - Geographic region for this group
- Servers - Ordered list of servers with drag-to-reorder (One2many)
- Server Count - Number of servers (computed)
- Select Server By - Load balancing strategy (tracked):
sequence- Pick by priority orderused- 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.