What Is odoo.conf?
odoo.conf is Odoo's main configuration file. It controls database connections, worker processes, memory limits, logging, security, and feature flags. Getting these settings right is the difference between a reliable production instance and one that crashes under load.
Database Settings
[options]
# Database connection
db_host = localhost # PostgreSQL host (False for Unix socket)
db_port = 5432 # PostgreSQL port (False for default)
db_user = odoo # Database user
db_password = secret # Database password (False for peer auth)
db_name = production # Specific database (False for any)
db_sslmode = prefer # SSL mode: disable, allow, prefer, require
db_maxconn = 64 # Max DB connections per Odoo process
db_template = template0 # Template for new databasesWorker Settings (Production)
# Worker processes
workers = 5 # 0 = threaded mode (dev only)
# Production: (CPU cores × 2) + 1
# Memory limits per worker
limit_memory_hard = 2684354560 # 2.5GB — kill worker above this
limit_memory_soft = 2147483648 # 2.0GB — recycle worker above this
# Time limits per request
limit_time_real = 120 # Max wall-clock seconds per request
limit_time_cpu = 60 # Max CPU seconds per request
# Request limit
limit_request = 8192 # Recycle worker after N requests
# Longpolling
gevent_port = 8072 # Port for WebSocket/longpolling workerNetwork Settings
# HTTP
http_port = 8069 # Odoo HTTP port
http_interface = # Bind to specific interface (empty = all)
proxy_mode = True # MUST be True when behind nginx/reverse proxy
longpolling_port = 8072 # Legacy setting (use gevent_port)Addons Path
# Module locations (comma-separated)
addons_path = /opt/odoo/odoo/addons,/opt/odoo/enterprise,/opt/odoo/custom-addonsSecurity Settings
# Master password (for database manager)
admin_passwd = your_very_strong_password
# Database listing
list_db = False # Disable database listing in login page
dbfilter = ^production$ # Regex: only show matching databasesLogging
# Log file
logfile = /var/log/odoo/odoo.log
log_level = info # debug, info, warning, error, critical
log_handler = :INFO # Per-module: odoo.addons.sale:DEBUG
syslog = False # Log to syslog instead of file
log_db = False # Log to database# Outgoing mail
smtp_server = smtp.example.com
smtp_port = 587
smtp_ssl = True
smtp_user = [email protected]
smtp_password = email_password
email_from = [email protected]Development vs Production Comparison
| Setting | Development | Production |
|---|---|---|
| workers | 0 (threaded) | 5-17 (multi-process) |
| limit_memory_hard | (not set) | 2.5GB |
| limit_time_real | (not set) | 120 |
| proxy_mode | False | True |
| list_db | True | False |
| admin_passwd | admin | Strong random |
| log_level | debug | info |
| dbfilter | (not set) | ^production$ |
DeployMonkey
DeployMonkey generates optimized odoo.conf automatically based on your server specs. The AI agent monitors configuration effectiveness and suggests changes when performance patterns indicate suboptimal settings.