Skip to content

Odoo odoo.conf: Every Configuration Option Explained

DeployMonkey Team · March 22, 2026 10 min read

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 databases

Worker 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 worker

Network 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-addons

Security 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 databases

Logging

# 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

Email

# 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

SettingDevelopmentProduction
workers0 (threaded)5-17 (multi-process)
limit_memory_hard(not set)2.5GB
limit_time_real(not set)120
proxy_modeFalseTrue
list_dbTrueFalse
admin_passwdadminStrong random
log_leveldebuginfo
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.