Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save figassis/331dcbd54eb236a53b76ae8ffeb89a30 to your computer and use it in GitHub Desktop.
Save figassis/331dcbd54eb236a53b76ae8ffeb89a30 to your computer and use it in GitHub Desktop.

Revisions

  1. @Guidoom Guidoom renamed this gist Nov 20, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .conf → gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -72,7 +72,7 @@ db_template = template0
    # Master Database password
    # This is set at first boot, and can be set from within Odoo
    #-----------------------------------------------------------------------------
    admin_passwd = 12357IngenioServicios
    admin_passwd = 12357

    #-----------------------------------------------------------------------------
    # specify the the maximum number of physical connections to posgresql
  2. @Guidoom Guidoom created this gist Nov 30, 2017.
    523 changes: 523 additions & 0 deletions .conf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,523 @@
    [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 = 12357IngenioServicios

    #-----------------------------------------------------------------------------
    # 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 =