Kategori : Odoo04 April 2019 13:58:49

Sample Odoo Configuration File

Sample Odoo Configuration File

[options]

#
# WARNING:
#  If you use the Odoo Database utility to change the master password be aware  
#  that the formatting of this file WILL be LOST! A copy of this file named
#  /etc/odoo/openerp-server.conf.template has been made in case this happens
#  Note that the copy does not have any first boot changes
#-----------------------------------------------------------------------------
#  Odoo Server Config File - TurnKey Linux
#  ( /etc/odoo/openerp-server.conf )
#
#   Great pain has been taken to organize this file, and include comments for 
#   each. As with all open source software this file is a work in progress. If
#   you see something that is wrong or needs to be updated, submit and issue
#   on TurnKey's GIT Hub issue tracker! Or better yet, fork the repo with this
#   file and submit a pull request!
#
#   Information about these settings where taken from openerp-server --help
#   and from https://www.odoo.com/documentation/8.0/reference/cmdline.html
#
#-----------------------------------------------------------------------------
# Index:
#   Database Settings
#   Logs Settings
#   Service Settings
#   Email Settings
#   Server Options
#   Tuning Adjustments
#   Testing and Demo Settings
#-----------------------------------------------------------------------------



#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Database Settings
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

#-----------------------------------------------------------------------------
# Specify the database host (default localhost).
#-----------------------------------------------------------------------------
#db_host = localhost

#-----------------------------------------------------------------------------
# Specify the database port (default None).
#-----------------------------------------------------------------------------
#db_port = 5432

#-----------------------------------------------------------------------------
# Specify the database user name (default None).
#-----------------------------------------------------------------------------
#db_user = odoo

#-----------------------------------------------------------------------------
# Specify the database password for db_user (default None) 
#-----------------------------------------------------------------------------
db_password = 00aa9df39b0c99ac3d1d8412d2917175

#-----------------------------------------------------------------------------
# Specify the database name.
#-----------------------------------------------------------------------------
db_name = False

#-----------------------------------------------------------------------------
# DataError: new encoding (UTF8) is incompatible with the encoding of the 
# template database (SQL_ASCII) HINT: Use the same encoding as in the template 
# database, or use template0 as template.
#-----------------------------------------------------------------------------
db_template = template0

#-----------------------------------------------------------------------------
# Master Database password
# This is set at first boot, and can be set from within Odoo
#-----------------------------------------------------------------------------
admin_passwd = 12357

#-----------------------------------------------------------------------------
# specify the the maximum number of physical connections to posgresql
#-----------------------------------------------------------------------------
db_maxconn = 64

#-----------------------------------------------------------------------------
# Filter listed database REGEXP 
#-----------------------------------------------------------------------------
dbfilter = .*



#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Logs Settings
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
#
#
# I found information from Odoo on logging was not very clear. So I complied
# this helpful list and info about Odoo logging.
#
# Information was gleaned from the following sites:
#   (The URLs are broken up to fit them in the file)
# - http://www.mindissoftware.com
#   /2014/09/07/Odoo-logging-configuration-usage-implementation/
# - https://www.odoo.com/
#   /forum/help-1/question
#   /what-is-the-full-list-of-command-line-options-for-odoo-59139
# - https://www.odoo.com/documentation/8.0/reference/cmdline.html
#
# Odoo uses the Python standard logging library. However, it uses a special 
# configuration syntax to configure logging levels for its modules. 
#
# It's helpful to know what each level type means, so below is quick list:
#
# Level meanings:
#    debug: Debug message for debugging only.
#     info: Information message to report important modular event.
#  warning: Warning message to report minor issues.
#    error: Error message to report failed operations.
# critical: A critical message -- so critical that the module cannot work
#
#
# log_level: 
#  any value in the list below. Odoo changed the log_level meaning 
#  here because these level values are mapped to a set of predefined
# 'module:log_level' pairs. These pairs are listed next to the log-level. 
# You could get the same result by using the log_handler option
#
#
# LOG LEVEL           / log_handler: module:log_level
# ----------------------------------------------------------------------------
# info                / [':INFO']
# critical            / ['openerp:CRITICAL', 'werkzeug:CRITICAL']
# error               / ['openerp:ERROR', 'werkzeug:ERROR']
# warn                / ['openerp:WARNING', 'werkzeug:WARNING']
# debug               / ['openerp:DEBUG']
# debug_sql           / ['openerp.sql_db:DEBUG']
# debug_rpc           / ['openerp:DEBUG','openerp.http.rpc.request:DEBUG']
# debug_rpc_answer    / ['openerp:DEBUG','openerp.http.rpc.request:DEBUG', 
#                       'openerp.http.rpc.response:DEBUG']
#
# End of Logging Info
# ----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# The log filename. If not set, use stdout.
#-----------------------------------------------------------------------------
logfile = /var/log/odoo/openerp-server.log

#-----------------------------------------------------------------------------
# True/False. If True, create a daily log file and keep 30 files.
#-----------------------------------------------------------------------------
logrotate = True

#-----------------------------------------------------------------------------
# Ture/False. If True, also write log to 'ir_logging' table in database
#-----------------------------------------------------------------------------
log-db = False

#-----------------------------------------------------------------------------
# True/False logs to the system's event logger: syslog
#-----------------------------------------------------------------------------
syslog = False

#-----------------------------------------------------------------------------
# Log level - One of the following:
# info, debug_rpc, warn, test, critical, debug_sql, error, debug, 
# debug_rpc_answer
#-----------------------------------------------------------------------------
log-level = warn

#-----------------------------------------------------------------------------
# log_handler - can be a list of 'module:log_level' pairs. 
# The default value is ':INFO' -- it means the default logging level 
# is 'INFO' for all modules.
#-----------------------------------------------------------------------------
# log_handler = 




#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Service Settings
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

#-----------------------------------------------------------------------------
# The IP address on which the server will bind.
# If empty, it will bind on all interfaces (default empty).
#-----------------------------------------------------------------------------
interface = localhost

#-----------------------------------------------------------------------------
# The TCP port on which the server will listen (default 8069).
#-----------------------------------------------------------------------------
port = 8069

#-----------------------------------------------------------------------------
# Launch server over https instead of http (default False).
#-----------------------------------------------------------------------------
secure = False

#-----------------------------------------------------------------------------
# Set to True if you are deploying your App behind a proxy
# e.g. Apache using mod_proxy. --proxy_mode added, using Werkzeug ProxyFix class
#-----------------------------------------------------------------------------
proxy_mode = True

#-----------------------------------------------------------------------------
# Specify the addons_path folders ordered by priority  
# addons_path=/first/path/,/second/path/
#-----------------------------------------------------------------------------
addons_path = /opt/openerp/odoo/addons,/home/myaddons

#-----------------------------------------------------------------------------
# The file where the server pid will be stored (default False).
# We are letting the init script create the pid
#-----------------------------------------------------------------------------
# pidfile = False

#-----------------------------------------------------------------------------
# specify reference timezone for the server (e.g. Europe/Brussels)
#-----------------------------------------------------------------------------
timezone = False

#-----------------------------------------------------------------------------
# specify the certificate file for the SSL connection
#-----------------------------------------------------------------------------
secure_cert_file = server.cert

#-----------------------------------------------------------------------------
# specify the private key file for the SSL connection
#-----------------------------------------------------------------------------
secure_pkey_file = server.pkey

#-----------------------------------------------------------------------------
# XML-RPC Secure Configuration (disabled if ssl is unavailable):
#   xmlrpcs - Set to False to disable the XML-RPC Secure protocol
#   xmlrpcs_interface - Specify the TCP IP address for the XML-RPC Secure 
#                       protocol. The empty string binds to all interfaces.
#   xmlrpcs_port - Specify the TCP port for the XML-RPC Secure protocol
#-----------------------------------------------------------------------------
xmlrpcs = True
xmlrpcs_interface = 127.0.0.1 
xmlrpcs_port = 8071

#-----------------------------------------------------------------------------
# XML-RPC Configuration:
#   xmlrpc - Set to False to disable the XML-RPC protocol
#   xmlrpc_interface - Specify the TCP IP address for the XML-RPC 
#                       protocol. The empty string binds to all interfaces.
#   xmlrpc_port - Specify the TCP port for the XML-RPC protocol
#-----------------------------------------------------------------------------
xmlrpc = True
xmlrpc_interface = 127.0.0.1
xmlrpc_port = 8069

#-----------------------------------------------------------------------------
# Long polling port:
#    TCP port for long-polling connections in multiprocessing or gevent mode, 
#    defaults to 8072. Not used in default (threaded) mode.
#-----------------------------------------------------------------------------
longpolling_port = 8072

#-----------------------------------------------------------------------------
# Use this for big data importation, if it crashes you will be able to continue
# at the current state. Provide a filename to store intermediate importation 
# states.
#-----------------------------------------------------------------------------
import_partial = 

#-----------------------------------------------------------------------------
# Use the unaccent function provided by the database when available
#-----------------------------------------------------------------------------
unaccent = False

#-----------------------------------------------------------------------------
# specify modules to export. Use in combination with --i18n-export
#-----------------------------------------------------------------------------
translate_modules = ['all']

#-----------------------------------------------------------------------------
# Comma-separated list of server-wide modules, default=web
#-----------------------------------------------------------------------------
server_wide_modules = None



#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Email Settings
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

#-----------------------------------------------------------------------------
# Specify the SMTP server for sending email (default localhost).
#-----------------------------------------------------------------------------
smtp_server = localhost

#-----------------------------------------------------------------------------
# Specify the SMTP user for sending email (default False).
#-----------------------------------------------------------------------------
smtp_user = False

#-----------------------------------------------------------------------------
# Specify the SMTP password for sending email (default False).
#-----------------------------------------------------------------------------
smtp_password = False

#-----------------------------------------------------------------------------
# if True, SMTP connections will be encrypted with SSL (STARTTLS)
#-----------------------------------------------------------------------------
smtp_ssl = False

#-----------------------------------------------------------------------------
# Specify the SMTP email address for sending email
#-----------------------------------------------------------------------------
email_from = "[email protected]"

#-----------------------------------------------------------------------------
# Specify the SMTP port
#-----------------------------------------------------------------------------
smtp_port = 25



#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Tuning Options
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
#-----------------------------------------------------------------------------
# A word on tuning your Odoo Server
#-----------------------------------------------------------------------------
# 
# A lot of time has gone in to testing this TKL appliance, and one thing we
# learned while testing was tuning. For all the why we chose these numbers you
# can take a look at he issues on GitHub (links at the botton of this article)
# 
# Most of this text here was taken from the Memory Matrix Discussion 
# https://github.com/DocCyblade/tkl-odoo/issues/49#issuecomment-148881166
# 
# It is important to note that you can run Odoo in threaded mode by setting 
# the workers option to 0 however there are some modules that won't work 
# and you loose fine grain control of resource management. 
# 
#-----------------------------------------------------------------------------
# 
# the --workers is how many new process will be started to perform work or 
# (answer requests) The workers have limits upon them set by the limit_xxxxx
# options here in the config file. 
# 
# The "limit_memory_soft" limit is the amount of ram that when a process
# goes over this limit after it is done with the request it is terminated
# and the memory it was using is freed. This amount goes for each process
# 
# The hard limit is the amount of ram that if the process goes over it, 
# it WILL terminate right then. (I don't think this is really correct 
# because of the PDF issue we had and set this to 1.3 GB and never 
# saw a process take this much. but if its below 1.3GB PDF are not created)
# 
# The one we need to pay attention to is the limit_memory_soft. 
# As these workers will stay alive and hold on to memory until that limit 
# is reached. So if you have 5 workers and the soft limit is 256MB you could
# end up with 5 workers each taking 256MB that's 1.25GB of RAM that could
# be taken up. If you only had 1GB of ram you may need to dial back your
# workers or your soft limit.
# 
# It's a balancing act of sorts, I am also not sure if keeping the 
# workers at say 350 or 400 if there is some caching effect. Not sure
# why it's holding on to the memory.
# 
#-----------------------------------------------------------------------------
# 
# Hardware Matrix for recommended values:
#   (Note these are for REAL hardware, Virtual Hardware has it's own
#     issues that can arise with too many guest on a host with too many 
#     CPU cores etc, so remember that when looking at the chart below)
#   (One other note that when I tested these, I did use VMware but 
#     no other VMs where competing for resources)
#   (One last note, really. These numbers are to show the relationship 
#     between the config settings and hardware. We also assume you are running
#     the database server on the same server. I know at some point in the
#     higher numbers that this would not be the case. These are not numbers 
#     set in stone nor numbers gotten from Odoo. These are numbers I have 
#     come up with from the testing I have done. Real world examples if you 
#     have them would be great and these numbers can and should be updated!
#    
# Heading            | Description 
# ------------------ | ---------------------------------------------------------
# CPUs               | Number of CPU Cores not threads
# Physical           | Physical memory, not virtual or swap
# workers            | Number of workers specified in config file (workers = x)
# cron               | Number of workers for cron jobs (max_cron_threads = xx)
# Mem Per            | Memory in MB that is the max memory for request per worker
# Max Mem            | Maximum amount that can be used by all workers 
# limit_memory_soft  | Number in bytes that you will use for this setting
# 
# Note: Max Memory if notice is less than total memory this is on purpose. As 
#       workers process requests they can grow beyond the Mem Per limit so a 
#       server under heavy load could go past this amount. This is why there 
#       is "head room" built in.
# 
# CPUs | Physical | workers | cron | Mem Per | Max Mem | limit_memory_soft  
# ---- | -------- | ------- | ---- | ------- | ------- | -----------------------
# ANY  | =< 256MB |    NR   |  NR  |      NR |     NR  | NR
#  1   |   512MB  |    0    |  N/A |     N/A |     N/A | N/A
#  1   |   512MB  |    1    |  1   |   177MB |   354MB | 185127901
#  1   |    1GB   |    2    |  1   |   244MB |   732MB | 255652815
#  1   |    2GB   |    2    |  1   |   506MB |  1518MB | 530242876
#  2   |    1GB   |    3    |  1   |   183MB |   732MB | 191739611
#  2   |    2GB   |    5    |  2   |   217MB |  1519MB | 227246947
#  2   |    4GB   |    5    |  2   |   450MB |  3150MB | 471974428
#  4   |    2GB   |    5    |  2   |   217MB |  1519MB | 227246947
#  4   |    4GB   |    9    |  2   |   286MB |  3146MB | 300347363
#  4   |    8GB   |    9    |  3   |   546MB |  6552MB | 572662306  
#  4   |    16GB  |    9    |  3   |  1187MB | 14244MB | 1244918057
# 
# 
#-----------------------------------------------------------------------------
# 
# Calculations on how we got the above chart and other info can be found
# 
# Memory Matrix Discussion
#   https://github.com/DocCyblade/tkl-odoo/issues/49
# 
# Shakedown Testing Discussions
#   https://github.com/DocCyblade/tkl-odoo/issues/52
#   https://github.com/DocCyblade/tkl-odoo/issues/53
#   https://github.com/DocCyblade/tkl-odoo/issues/54
#   https://github.com/DocCyblade/tkl-odoo/issues/55
# 
#-----------------------------------------------------------------------------




#-----------------------------------------------------------------------------
# Specify the number of workers, 0 disable prefork mode.
# if count is not 0 , enables multiprocessing and sets up the
# specified number of HTTP workers (sub-processes processing HTTP and RPC 
# requests). TKL Default is 0
#
# (See chart above for recommended values)
#-----------------------------------------------------------------------------
workers = 0 

#-----------------------------------------------------------------------------
# number of workers dedicated to cron jobs. Defaults to 2. The workers are 
# threads in multithreading mode and processes in multiprocessing mode.
#-----------------------------------------------------------------------------
max_cron_threads = 1

#-----------------------------------------------------------------------------
# Prevents the worker from using more than <limit> CPU seconds for each 
# request. If the limit is exceeded, the worker is killed
#-----------------------------------------------------------------------------
limit_time_cpu = 60

#-----------------------------------------------------------------------------
# Prevents the worker from taking longer than <limit> seconds to process a 
# request. If the limit is exceeded, the worker is killed.
#-----------------------------------------------------------------------------
limit_time_real = 170

#-----------------------------------------------------------------------------
# Maximum allowed virtual memory per worker. If the limit is exceeded, the 
# worker is killed and recycled at the end of the current request.
#
# (See chart above for recommended values) 
#-----------------------------------------------------------------------------
limit_memory_soft = 255652815

#-----------------------------------------------------------------------------
# Hard limit on virtual memory, any worker exceeding the limit will be 
# immediately killed without waiting for the end of the current request 
# processing.
#
# Not sure of the reason but if this is set lower that 1.3GB then print jobs
# using PDF does not work. We are unsure why but this was the lowest amount
# for it to work.
#-----------------------------------------------------------------------------
limit_memory_hard = 1395864371

#-----------------------------------------------------------------------------
# Number of requests a worker will process before being recycled and restarted.
#-----------------------------------------------------------------------------
limit_request = 8196

#-----------------------------------------------------------------------------
# Force a limit on the maximum number of records kept in the virtual osv_memory
# tables. The default is False, which means no count-based limit.
#-----------------------------------------------------------------------------
osv_memory_count_limit = False

#-----------------------------------------------------------------------------
# Force a limit on the maximum age of records kept in the virtual osv_memory 
# tables. This is a decimal value expressed in hours, and the default is 1 hour.
#-----------------------------------------------------------------------------
osv_memory_age_limit = 1.0



#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Testing and Demo Settings
#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

#-----------------------------------------------------------------------------
# Enable YAML and unit tests.
#-----------------------------------------------------------------------------
test_enable = False

#-----------------------------------------------------------------------------
# Launch a python or YML test file.
#-----------------------------------------------------------------------------
test_file = False

#-----------------------------------------------------------------------------
# If set, will save sample of all reports in this directory.
#-----------------------------------------------------------------------------
test_report_directory = False

#-----------------------------------------------------------------------------
# Commit database changes performed by YAML or XML tests.
#-----------------------------------------------------------------------------
test_commit = False

#-----------------------------------------------------------------------------
# disable loading demo data for modules to be installed (comma-separated, use 
# "all" for all modules). Default is none
#-----------------------------------------------------------------------------
without_demo = 

source : https://gist.github.com/Guidoom/d5db0a76ce669b139271a528a8a2a27f

Share : Share Facebook Share Twitter
Kategori : Odoo04 April 2019 13:58:49