mirror of
https://github.com/odoocker/odoocker
synced 2025-11-04 15:19:22 +01:00
first commit
This commit is contained in:
68
odoo/Dockerfile
Normal file
68
odoo/Dockerfile
Normal file
@@ -0,0 +1,68 @@
|
||||
ARG ODOO_VERSION=16.0
|
||||
|
||||
FROM odoo:${ODOO_VERSION}
|
||||
|
||||
# Switch back to root user
|
||||
USER root
|
||||
|
||||
# Update & Upgrade
|
||||
RUN apt-get update && apt-get upgrade -y
|
||||
|
||||
# Upgrade pip
|
||||
RUN pip3 install --upgrade pip
|
||||
|
||||
# Set Odoo root path
|
||||
ARG ROOT_PATH=/usr/lib/python3/dist-packages/odoo
|
||||
|
||||
#---------------#
|
||||
# Logging #
|
||||
#---------------#
|
||||
# Set Log variables
|
||||
ARG LOGPATH=/var/log/odoo
|
||||
ARG LOGFILE=${LOGPATH}/odoo.log
|
||||
|
||||
# Create odoo.log file and give permissions.
|
||||
RUN touch ${LOGFILE} && chown odoo:odoo -R ${LOGPATH}
|
||||
|
||||
#-----------------------#
|
||||
# Odoo Enterprise #
|
||||
#-----------------------#
|
||||
# Install git
|
||||
RUN apt-get install git -y
|
||||
|
||||
# Set Github Credentials
|
||||
ARG GITHUB_USER=yhaelopez
|
||||
ARG GITHUB_ACCESS_TOKEN=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
|
||||
ARG ENTERPRISE_REPO=https://${GITHUB_USER}:${GITHUB_ACCESS_TOKEN}@github.com/odoo/enterprise.git
|
||||
ARG ENTERPRISE_PATH=${ROOT_PATH}/enterprise
|
||||
|
||||
# Create Enterprise Path & give permissions
|
||||
RUN mkdir -p ${ENTERPRISE_PATH} && chown odoo:odoo -R ${ENTERPRISE_PATH}
|
||||
|
||||
# Clone Enterprise Repository
|
||||
RUN git clone ${ENTERPRISE_REPO} ${ROOT_PATH}/enterprise --depth 1 --branch ${ODOO_VERSION} --single-branch --no-tags
|
||||
|
||||
#--------------------------------#
|
||||
# Fix Deprecation Warnings #
|
||||
#--------------------------------#
|
||||
|
||||
#------------------------#
|
||||
# APT Dependencies #
|
||||
#------------------------#
|
||||
|
||||
#-----------------------#
|
||||
# PIP Dependencies #
|
||||
#-----------------------#
|
||||
|
||||
#-----------------------#
|
||||
# Odoo Conf #
|
||||
#-----------------------#
|
||||
# Copy environment variables at /
|
||||
COPY ./.env /
|
||||
# Copy script to generate odoo.conf
|
||||
COPY ./odoo/odoorc.sh /
|
||||
# Generate odoo.conf
|
||||
RUN /odoorc.sh && chown odoo:odoo ${ODOO_RC}
|
||||
|
||||
# Switch back to odoo user
|
||||
USER odoo
|
||||
2
odoo/custom-addons/.gitignore
vendored
Normal file
2
odoo/custom-addons/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Ignores any __pycache__ folder.
|
||||
__pycache__
|
||||
68
odoo/entrypoint.sh
Executable file
68
odoo/entrypoint.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
case "$1" in
|
||||
-- | odoo)
|
||||
shift
|
||||
if [[ "$1" == "scaffold" ]] ; then
|
||||
# Creates new module.
|
||||
exec odoo "$@"
|
||||
else
|
||||
wait-for-psql.py --db_host ${DB_HOST} --db_port ${DB_PORT} --db_user ${DB_USER} --db_password ${DB_PASSWORD} --timeout=30
|
||||
|
||||
if [ ${APP_ENV} = 'fresh' ] || [ ${APP_ENV} = 'restore' ]; then
|
||||
echo odoo --config ${ODOO_RC} --database= --update= --init= --load=${SERVER_WIDE_MODULES} --workers=0 --log-handler=:INFO --log-level=info --max-cron-threads=2 --limit-time-cpu=3600 --limit-time-real=7200 --limit-time-real-cron=600 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --load-language= --without-demo=True --import-partial=False --log-db= --dev=False
|
||||
|
||||
exec odoo --config ${ODOO_RC} --database= --update= --init= --load=${SERVER_WIDE_MODULES} --workers=0 --log-handler=:INFO --log-level=info --max-cron-threads=2 --limit-time-cpu=3600 --limit-time-real=7200 --limit-time-real-cron=600 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --load-language= --without-demo=True --import-partial=False --log-db= --dev=False
|
||||
fi
|
||||
|
||||
if [ ${APP_ENV} = 'full' ] ; then
|
||||
echo odoo --config ${ODOO_RC} --database=${DB_NAME} --init=${INSTALLED_MODULES} --update= --load=${SERVER_WIDE_MODULES} --workers=0 --log-handler=:INFO --log-level=info --max-cron-threads=2 --limit-time-cpu=3600 --limit-time-real=7200 --limit-time-real-cron=600 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --db-filter= --load-language=${LOAD_LANGUAGE} --without-demo=True --import-partial=False --log-db= --dev=False
|
||||
|
||||
exec odoo --config ${ODOO_RC} --database=${DB_NAME} --init=${INSTALLED_MODULES} --update= --load=${SERVER_WIDE_MODULES} --workers=0 --log-handler=:INFO --log-level=info --max-cron-threads=2 --limit-time-cpu=3600 --limit-time-real=7200 --limit-time-real-cron=600 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --db-filter= --load-language=${LOAD_LANGUAGE} --without-demo=True --import-partial=False --log-db= --dev=False
|
||||
fi
|
||||
|
||||
if [ ${APP_ENV} = 'local' ] ; then
|
||||
# Automagically update the addons you are currently working on.
|
||||
echo odoo --config ${ODOO_RC} --database=${DB_NAME} --update=${UPDATE} --init=${INIT} --load=${SERVER_WIDE_MODULES} --dev=${DEV_MODE}
|
||||
|
||||
exec odoo --config ${ODOO_RC} --database=${DB_NAME} --update=${UPDATE} --init=${INIT} --load=${SERVER_WIDE_MODULES} --dev=${DEV_MODE}
|
||||
fi
|
||||
|
||||
if [ ${APP_ENV} = 'testing' ] ; then
|
||||
# Work in progres... (DO NOT USE)
|
||||
echo odoo --config ${ODOO_RC} --database=test_${DB_NAME} --db-filter=test_${DB_NAME} --test-enable --test-commit --log-handler=:DEBUG --log-level=debug --workers=0 --init= --update=
|
||||
|
||||
exec odoo --config ${ODOO_RC} --database=test_${DB_NAME} --db-filter=test_${DB_NAME} --test-enable --test-commit --log-handler=:DEBUG --log-level=debug --workers=0 --init= --update=
|
||||
fi
|
||||
|
||||
if [ ${APP_ENV} = 'staging' ] ; then
|
||||
# Automagically install/upgrade all addons
|
||||
echo odoo --config ${ODOO_RC} --database=${DB_NAME} --init=${INIT} --update=all --load=${SERVER_WIDE_MODULES} --workers=0 --log-handler=:INFO --log-level=info --max-cron-threads=2 --limit-time-cpu=3600 --limit-time-real=7200 --limit-time-real-cron=600 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --db-filter= --load-language=${LOAD_LANGUAGE} --without-demo=True --import-partial=False --log-db= --dev=False
|
||||
|
||||
exec odoo --config ${ODOO_RC} --database=${DB_NAME} --init=${INIT} --update=all --load=${SERVER_WIDE_MODULES} --workers=0 --log-handler=:INFO --log-level=info --max-cron-threads=2 --limit-time-cpu=3600 --limit-time-real=7200 --limit-time-real-cron=600 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --db-filter= --load-language=${LOAD_LANGUAGE} --without-demo=True --import-partial=False --log-db= --dev=False
|
||||
fi
|
||||
|
||||
if [ ${APP_ENV} = 'production' ] ; then
|
||||
# Bring up Odoo without any addons to install/update.
|
||||
echo odoo --config ${ODOO_RC} --database= --init= --update= --load-language= --db-filter= --dev=False --import-partial=False --without-demo=True --log-handler=:INFO --log-level=info --log-db= --log-db-level=warning --workers=2 --max-cron-threads=2 --log-level=info --log-handler=:INFO --limit-time-cpu=120 --limit-time-real=240 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --import-partial=False
|
||||
|
||||
exec odoo --config ${ODOO_RC} --database= --init= --update= --load-language= --db-filter= --dev=False --import-partial=False --without-demo=True --log-handler=:INFO --log-level=info --log-db= --log-db-level=warning --workers=2 --max-cron-threads=2 --log-level=info --log-handler=:INFO --limit-time-cpu=120 --limit-time-real=240 --limit-request=8192 --limit-memory-soft=2147483648 --limit-memory-hard=2684354560 --transient-age-limit=1.0 --import-partial=False
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
-*)
|
||||
# TODO: check which cases end up here.
|
||||
wait-for-psql.py --db_host ${DB_HOST} --db_port ${DB_PORT} --db_user ${DB_USER} --db_password ${DB_PASSWORD} --timeout=30
|
||||
echo odoo --config ${ODOO_RC}
|
||||
exec odoo --config ${ODOO_RC}
|
||||
;;
|
||||
*)
|
||||
|
||||
# TODO: check which cases end up here.
|
||||
echo "$@"
|
||||
exec "$@"
|
||||
esac
|
||||
|
||||
exit 1
|
||||
2
odoo/extra-addons/.gitignore
vendored
Normal file
2
odoo/extra-addons/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Ignores any __pycache__ folder.
|
||||
__pycache__
|
||||
251
odoo/odoo.example.conf
Normal file
251
odoo/odoo.example.conf
Normal file
@@ -0,0 +1,251 @@
|
||||
[options]
|
||||
;------------------------------------------;
|
||||
; Options not exposed on the command line. ;
|
||||
;------------------------------------------;
|
||||
|
||||
admin_passwd=odoo
|
||||
csv_internal_sep=,
|
||||
publisher_warranty_url=http://services.openerp.com/publisher-warranty/
|
||||
root_path=/usr/lib/python3/dist-packages/odoo
|
||||
reportgz=False
|
||||
websocket_keep_alive_timeout=3600
|
||||
websocket_rate_limit_burst=10
|
||||
websocket_rate_limit_delay=0.2
|
||||
|
||||
;-----------------------;
|
||||
; Server startup config ;
|
||||
;-----------------------;
|
||||
; --config | -c
|
||||
config=/etc/odoo/odoo.conf
|
||||
|
||||
; --save
|
||||
save=False
|
||||
|
||||
; --init | -i
|
||||
init=
|
||||
|
||||
; --update | -u
|
||||
update=
|
||||
|
||||
; --without-demo
|
||||
demo=False
|
||||
without_demo=all
|
||||
|
||||
; --import-partial
|
||||
import_partial=
|
||||
|
||||
; --pidfile
|
||||
pidfile=
|
||||
|
||||
; --addons-path
|
||||
addons_path=/usr/lib/python3/dist-packages/odoo/addons,/usr/lib/python3/dist-packages/odoo/enterprise,/usr/lib/python3/dist-packages/odoo/extra-addons,/usr/lib/python3/dist-packages/odoo/custom-addons
|
||||
|
||||
; --upgrade-path
|
||||
upgrade_path=
|
||||
|
||||
; --load
|
||||
server_wide_modules=base,web
|
||||
|
||||
; --data-dir
|
||||
data_dir=/var/lib/odoo
|
||||
|
||||
;------;
|
||||
; HTTP ;
|
||||
;------;
|
||||
; --http-interface | --xmlrpc-interface
|
||||
http_interface=0.0.0.0
|
||||
|
||||
; --http-port | -p | --xmlrpc-port
|
||||
http_port=8069
|
||||
|
||||
; --longpolling_port
|
||||
longpolling_port=8072
|
||||
|
||||
; --no-http | --no-xmlrpc
|
||||
http_enable=True
|
||||
|
||||
; --proxy-mode
|
||||
proxy_mode=True
|
||||
|
||||
; --x-sendfile
|
||||
x_sendfile =False
|
||||
|
||||
;---------------;
|
||||
; Testing Group ;
|
||||
;---------------;
|
||||
; --test-file
|
||||
test_file=False
|
||||
|
||||
; --test-enable
|
||||
test_enable=False
|
||||
|
||||
; --test-tags
|
||||
test_tags=False
|
||||
|
||||
; --screencasts
|
||||
screencasts=None
|
||||
|
||||
; --screenshots
|
||||
screenshots=/tmp/odoo_tests
|
||||
|
||||
;---------------;
|
||||
; Logging Group ;
|
||||
;---------------;
|
||||
; --logfile
|
||||
logfile=
|
||||
|
||||
; --syslog
|
||||
syslog=False
|
||||
|
||||
; --log-handler | --log-web (--log-handler=odoo.http:DEBUG) | --log-sql (--log-handler=odoo.sql_db:DEBUG)
|
||||
log_handler=[':INFO']
|
||||
|
||||
; --log-db
|
||||
log_db=False
|
||||
|
||||
; --log-db-level
|
||||
log_db_level=info
|
||||
|
||||
; --log-level
|
||||
log_level=info
|
||||
|
||||
;------------;
|
||||
; SMTP Group ;
|
||||
;------------;
|
||||
; --email-from
|
||||
email_from=
|
||||
|
||||
; --from-filter
|
||||
from_filter=False
|
||||
|
||||
; --smtp
|
||||
smtp_server=
|
||||
|
||||
; --smtp-port
|
||||
smtp_port=25
|
||||
|
||||
; --smtp-ssl
|
||||
smtp_ssl=
|
||||
|
||||
; --smtp-user
|
||||
smtp_user=
|
||||
|
||||
; --smtp-password
|
||||
smtp_password=
|
||||
|
||||
; --smtp-ssl-certificate-filename
|
||||
smtp_ssl_certificate_filename=False
|
||||
|
||||
; --smtp-ssl-private-key-filename
|
||||
smtp_ssl_private_key_filename=False
|
||||
|
||||
;----------;
|
||||
; DB Group ;
|
||||
;----------;
|
||||
; --database | -d
|
||||
db_name=odoo
|
||||
|
||||
; --db_user | -r
|
||||
db_user=odoo
|
||||
|
||||
; --db_password | -w
|
||||
db_password=odoo
|
||||
|
||||
; --pg_path
|
||||
pg_path=
|
||||
|
||||
; --db_host
|
||||
db_host=postgres
|
||||
|
||||
; --db_port
|
||||
db_port=5432
|
||||
|
||||
; --db_sslmode
|
||||
db_sslmode=prefer
|
||||
|
||||
; --db_maxconn
|
||||
db_maxconn=64
|
||||
|
||||
; --db-template
|
||||
db_template=unaccent_template
|
||||
|
||||
;------------------------------;
|
||||
; Internationalisation options ;
|
||||
;------------------------------;
|
||||
; --load-language
|
||||
load_language=en_US
|
||||
|
||||
; --language
|
||||
language=
|
||||
|
||||
; --i18n-export
|
||||
translate_out=
|
||||
|
||||
; --i18n-import
|
||||
translate_in=
|
||||
|
||||
; --i18n-overwrite
|
||||
overwrite_existing_translations=False
|
||||
|
||||
; --modules
|
||||
translate_modules=['all']
|
||||
|
||||
;----------;
|
||||
; Security ;
|
||||
;----------;
|
||||
; --no-database-list
|
||||
list_db=True
|
||||
|
||||
;-----;
|
||||
; WEB ;
|
||||
;-----;
|
||||
; --db-filter
|
||||
dbfilter=.*
|
||||
|
||||
;------------------;
|
||||
; Advanced options ;
|
||||
;------------------;
|
||||
; --dev
|
||||
dev_mode=False
|
||||
|
||||
; --shell-interface
|
||||
shell_interface=ptpython
|
||||
|
||||
; --stop-after-init
|
||||
stop_after_init=False
|
||||
|
||||
; --osv-memory-count-limit
|
||||
osv_memory_count_limit=False
|
||||
|
||||
; --transient-age-limit (for deprecated --osv-memory-age-limit)
|
||||
transient_age_limit=1.0
|
||||
|
||||
; --max-cron-threads
|
||||
max_cron_threads=2
|
||||
|
||||
; --unaccent
|
||||
unaccent=True
|
||||
|
||||
; --geoip-db
|
||||
geoip_database=/usr/share/GeoIP/GeoLite2-City.mmdb
|
||||
|
||||
; --workers
|
||||
workers=0
|
||||
|
||||
; --limit-memory-soft
|
||||
limit_memory_soft=2147483648
|
||||
|
||||
; --limit-memory-hard
|
||||
limit_memory_hard=2684354560
|
||||
|
||||
; --limit-time-cpu
|
||||
limit_time_cpu=120
|
||||
|
||||
; --limit-time-real
|
||||
limit_time_real=240
|
||||
|
||||
; --limit-time-real-cron
|
||||
limit_time_real_cron=600
|
||||
|
||||
; --limit-request
|
||||
limit_request=8192
|
||||
367
odoo/odoorc.sh
Executable file
367
odoo/odoorc.sh
Executable file
@@ -0,0 +1,367 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Define default values for environment variables
|
||||
set -a
|
||||
source /.env
|
||||
set +a
|
||||
|
||||
declare -A defaults
|
||||
defaults=(
|
||||
[ADMIN_PASSWD]=${ADMIN_PASSWD}
|
||||
[CSV_INTERNAL_SEP]=${CSV_INTERNAL_SEP}
|
||||
[PUBLISHER_WARRANTY_URL]=${PUBLISHER_WARRANTY_URL}
|
||||
[ROOT_PATH]=${ROOT_PATH}
|
||||
[REPORTGZ]=${REPORTGZ}
|
||||
[WEBSOCKET_KEEP_ALIVE_TIMEOUT]=${WEBSOCKET_KEEP_ALIVE_TIMEOUT}
|
||||
[WEBSOCKET_RATE_LIMIT_BURST]=${WEBSOCKET_RATE_LIMIT_BURST}
|
||||
[WEBSOCKET_RATE_LIMIT_DELAY]=${WEBSOCKET_RATE_LIMIT_DELAY}
|
||||
|
||||
[ODOO_RC]=${ODOO_RC}
|
||||
[SAVE]=${SAVE}
|
||||
[INIT]=${INIT}
|
||||
[UPDATE]=${UPDATE}
|
||||
[DEMO]=${DEMO}
|
||||
[WITHOUT_DEMO]=${WITHOUT_DEMO}
|
||||
[IMPORT_PARTIAL]=${IMPORT_PARTIAL}
|
||||
[PIDFILE]=${PIDFILE}
|
||||
[ADDONS_PATH]=${ADDONS_PATH}
|
||||
[UPGRADE_PATH]=${UPGRADE_PATH}
|
||||
[SERVER_WIDE_MODULES]=${SERVER_WIDE_MODULES}
|
||||
[DATA_DIR]=${DATA_DIR}
|
||||
|
||||
[HTTP_INTERFACE]=${HTTP_INTERFACE}
|
||||
[HTTP_PORT]=${HTTP_PORT}
|
||||
[LONGPOLLING_PORT]=${LONGPOLLING_PORT}
|
||||
[HTTP_ENABLE]=${HTTP_ENABLE}
|
||||
[PROXY_MODE]=${PROXY_MODE}
|
||||
[X_SENDFILE]=${X_SENDFILE}
|
||||
|
||||
[DBFILTER]=${DBFILTER}
|
||||
|
||||
[TEST_FILE]=${TEST_FILE}
|
||||
[TEST_ENABLE]=${TEST_ENABLE}
|
||||
[TEST_TAGS]=${TEST_TAGS}
|
||||
[SCREENCASTS]=${SCREENCASTS}
|
||||
[SCREENSHOTS]=${SCREENSHOTS}
|
||||
|
||||
[LOGFILE]=${LOGFILE}
|
||||
[SYSLOG]=${SYSLOG}
|
||||
[LOG_HANDLER]=${LOG_HANDLER}
|
||||
[LOG_DB]=${LOG_DB}
|
||||
[LOG_DB_LEVEL]=${LOG_DB_LEVEL}
|
||||
[LOG_LEVEL]=${LOG_LEVEL}
|
||||
|
||||
[EMAIL_FROM]=${EMAIL_FROM}
|
||||
[FROM_FILTER]=${FROM_FILTER}
|
||||
[SMTP_SERVER]=${SMTP_SERVER}
|
||||
[SMTP_PORT]=${SMTP_PORT}
|
||||
[SMTP_SSL]=${SMTP_SSL}
|
||||
[SMTP_USER]=${SMTP_USER}
|
||||
[SMTP_PASSWORD]=${SMTP_PASSWORD}
|
||||
[SMTP_SSL_CERTIFICATE_FILENAME]=${SMTP_SSL_CERTIFICATE_FILENAME}
|
||||
[SMTP_SSL_PRIVATE_KEY_FILENAME]=${SMTP_SSL_PRIVATE_KEY_FILENAME}
|
||||
|
||||
[DB_NAME]=${DB_NAME}
|
||||
[DB_USER]=${DB_USER}
|
||||
[DB_PASSWORD]=${DB_PASSWORD}
|
||||
[PG_PATH]=${PG_PATH}
|
||||
[DB_HOST]=${DB_HOST}
|
||||
[DB_PORT]=${DB_PORT}
|
||||
[DB_SSLMODE]=${DB_SSLMODE}
|
||||
[DB_MAXCONN]=${DB_MAXCONN}
|
||||
[DB_TEMPLATE]=${DB_TEMPLATE}
|
||||
|
||||
[LOAD_LANGUAGE]=${LOAD_LANGUAGE}
|
||||
[LANGUAGE]=${LANGUAGE}
|
||||
[TRANSLATE_OUT]=${TRANSLATE_OUT}
|
||||
[TRANSLATE_IN]=${TRANSLATE_IN}
|
||||
[OVERWRITE_EXISTING_TRANSLATIONS]=${OVERWRITE_EXISTING_TRANSLATIONS}
|
||||
[TRANSLATE_MODULES]=${TRANSLATE_MODULES}
|
||||
|
||||
[LIST_DB]=${LIST_DB}
|
||||
|
||||
[DEV_MODE]=${DEV_MODE}
|
||||
[SHELL_INTERFACE]=${SHELL_INTERFACE}
|
||||
[STOP_AFTER_INIT]=${STOP_AFTER_INIT}
|
||||
[OSV_MEMORY_COUNT_LIMIT]=${OSV_MEMORY_COUNT_LIMIT}
|
||||
[TRANSIENT_AGE_LIMIT]=${TRANSIENT_AGE_LIMIT}
|
||||
[MAX_CRON_THREADS]=${MAX_CRON_THREADS}
|
||||
[UNACCENT]=${UNACCENT}
|
||||
[GEOIP_DATABASE]=${GEOIP_DATABASE}
|
||||
[WORKERS]=${WORKERS}
|
||||
[LIMIT_MEMORY_SOFT]=${LIMIT_MEMORY_SOFT}
|
||||
[LIMIT_MEMORY_HARD]=${LIMIT_MEMORY_HARD}
|
||||
[LIMIT_TIME_CPU]=${LIMIT_TIME_CPU}
|
||||
[LIMIT_TIME_REAL]=${LIMIT_TIME_REAL}
|
||||
[LIMIT_TIME_REAL_CRON]=${LIMIT_TIME_REAL_CRON}
|
||||
[LIMIT_REQUEST]=${LIMIT_REQUEST}
|
||||
)
|
||||
|
||||
# Define the template
|
||||
template=$(cat << EOF
|
||||
[options]
|
||||
;------------------------------------------;
|
||||
; Options not exposed on the command line. ;
|
||||
;------------------------------------------;
|
||||
|
||||
admin_passwd={ADMIN_PASSWD}
|
||||
csv_internal_sep={CSV_INTERNAL_SEP}
|
||||
publisher_warranty_url={PUBLISHER_WARRANTY_URL}
|
||||
root_path={ROOT_PATH}
|
||||
reportgz={REPORTGZ}
|
||||
websocket_keep_alive_timeout={WEBSOCKET_KEEP_ALIVE_TIMEOUT}
|
||||
websocket_rate_limit_burst={WEBSOCKET_RATE_LIMIT_BURST}
|
||||
websocket_rate_limit_delay={WEBSOCKET_RATE_LIMIT_DELAY}
|
||||
|
||||
;-----------------------;
|
||||
; Server startup config ;
|
||||
;-----------------------;
|
||||
; --config | -c
|
||||
config={ODOO_RC}
|
||||
|
||||
; --save
|
||||
save={SAVE}
|
||||
|
||||
; --init | -i
|
||||
init={INIT}
|
||||
|
||||
; --update | -u
|
||||
update={UPDATE}
|
||||
|
||||
; --without-demo
|
||||
demo={DEMO}
|
||||
without_demo={WITHOUT_DEMO}
|
||||
|
||||
; --import-partial
|
||||
import_partial={IMPORT_PARTIAL}
|
||||
|
||||
; --pidfile
|
||||
pidfile={PIDFILE}
|
||||
|
||||
; --addons-path
|
||||
addons_path={ADDONS_PATH}
|
||||
|
||||
; --upgrade-path
|
||||
upgrade_path={UPGRADE_PATH}
|
||||
|
||||
; --load
|
||||
server_wide_modules={SERVER_WIDE_MODULES}
|
||||
|
||||
; --data-dir
|
||||
data_dir={DATA_DIR}
|
||||
|
||||
;------;
|
||||
; HTTP ;
|
||||
;------;
|
||||
; --http-interface | --xmlrpc-interface
|
||||
http_interface={HTTP_INTERFACE}
|
||||
|
||||
; --http-port | -p | --xmlrpc-port
|
||||
http_port={HTTP_PORT}
|
||||
|
||||
; --longpolling_port
|
||||
longpolling_port={LONGPOLLING_PORT}
|
||||
|
||||
; --no-http | --no-xmlrpc
|
||||
http_enable={HTTP_ENABLE}
|
||||
|
||||
; --proxy-mode
|
||||
proxy_mode={PROXY_MODE}
|
||||
|
||||
; --x-sendfile
|
||||
x_sendfile ={X_SENDFILE}
|
||||
|
||||
;---------------;
|
||||
; Testing Group ;
|
||||
;---------------;
|
||||
; --test-file
|
||||
test_file={TEST_FILE}
|
||||
|
||||
; --test-enable
|
||||
test_enable={TEST_ENABLE}
|
||||
|
||||
; --test-tags
|
||||
test_tags={TEST_FILE}
|
||||
|
||||
; --screencasts
|
||||
screencasts={SCREENCASTS}
|
||||
|
||||
; --screenshots
|
||||
screenshots={SCREENSHOTS}
|
||||
|
||||
;---------------;
|
||||
; Logging Group ;
|
||||
;---------------;
|
||||
; --logfile
|
||||
logfile={LOGFILE}
|
||||
|
||||
; --syslog
|
||||
syslog={SYSLOG}
|
||||
|
||||
; --log-handler | --log-web (--log-handler=odoo.http:DEBUG') | --log-sql (--log-handler=odoo.sql_db:DEBUG)
|
||||
log_handler={LOG_HANDLER}
|
||||
|
||||
; --log-db
|
||||
log_db={LOG_DB}
|
||||
|
||||
; --log-db-level
|
||||
log_db_level={LOG_DB_LEVEL}
|
||||
|
||||
; --log-level
|
||||
log_level={LOG_LEVEL}
|
||||
|
||||
;------------;
|
||||
; SMTP Group ;
|
||||
;------------;
|
||||
; --email-from
|
||||
email_from={EMAIL_FROM}
|
||||
|
||||
; --from-filter
|
||||
from_filter={FROM_FILTER}
|
||||
|
||||
; --smtp
|
||||
smtp_server={SMTP_SERVER}
|
||||
|
||||
; --smtp-port
|
||||
smtp_port={SMTP_PORT}
|
||||
|
||||
; --smtp-ssl
|
||||
smtp_ssl={SMTP_SSL}
|
||||
|
||||
; --smtp-user
|
||||
smtp_user={SMTP_USER}
|
||||
|
||||
; --smtp-password
|
||||
smtp_password={SMTP_PASSWORD}
|
||||
|
||||
; --smtp-ssl-certificate-filename
|
||||
smtp_ssl_certificate_filename={SMTP_SSL_CERTIFICATE_FILENAME}
|
||||
|
||||
; --smtp-ssl-private-key-filename
|
||||
smtp_ssl_private_key_filename={SMTP_SSL_PRIVATE_KEY_FILENAME}
|
||||
|
||||
;----------;
|
||||
; DB Group ;
|
||||
;----------;
|
||||
; --database | -d
|
||||
db_name={DB_NAME}
|
||||
|
||||
; --db_user | -r
|
||||
db_user={DB_USER}
|
||||
|
||||
; --db_password | -w
|
||||
db_password={DB_PASSWORD}
|
||||
|
||||
; --pg_path
|
||||
pg_path={PG_PATH}
|
||||
|
||||
; --db_host
|
||||
db_host={DB_HOST}
|
||||
|
||||
; --db_port
|
||||
db_port={DB_PORT}
|
||||
|
||||
; --db_sslmode
|
||||
db_sslmode={DB_SSLMODE}
|
||||
|
||||
; --db_maxconn
|
||||
db_maxconn={DB_MAXCONN}
|
||||
|
||||
; --db-template
|
||||
db_template={DB_TEMPLATE}
|
||||
|
||||
;------------------------------;
|
||||
; Internationalisation options ;
|
||||
;------------------------------;
|
||||
; --load-language
|
||||
load_language={LOAD_LANGUAGE}
|
||||
|
||||
; --language
|
||||
language={LANGUAGE}
|
||||
|
||||
; --i18n-export
|
||||
translate_out={TRANSLATE_OUT}
|
||||
|
||||
; --i18n-import
|
||||
translate_in={TRANSLATE_IN}
|
||||
|
||||
; --i18n-overwrite
|
||||
overwrite_existing_translations={OVERWRITE_EXISTING_TRANSLATIONS}
|
||||
|
||||
; --modules
|
||||
translate_modules={TRANSLATE_MODULES}
|
||||
|
||||
;----------;
|
||||
; Security ;
|
||||
;----------;
|
||||
; --no-database-list
|
||||
list_db={LIST_DB}
|
||||
|
||||
;-----;
|
||||
; WEB ;
|
||||
;-----;
|
||||
; --db-filter
|
||||
dbfilter={DBFILTER}
|
||||
|
||||
;------------------;
|
||||
; Advanced options ;
|
||||
;------------------;
|
||||
; --dev
|
||||
dev_mode={DEV_MODE}
|
||||
|
||||
; --shell-interface
|
||||
shell_interface={SHELL_INTERFACE}
|
||||
|
||||
; --stop-after-init
|
||||
stop_after_init={STOP_AFTER_INIT}
|
||||
|
||||
; --osv-memory-count-limit
|
||||
osv_memory_count_limit={OSV_MEMORY_COUNT_LIMIT}
|
||||
|
||||
; --transient-age-limit (--osv-memory-age-limit deprecated)
|
||||
transient_age_limit={TRANSIENT_AGE_LIMIT}
|
||||
|
||||
; --max-cron-threads
|
||||
max_cron_threads={MAX_CRON_THREADS}
|
||||
|
||||
; --unaccent
|
||||
unaccent={UNACCENT}
|
||||
|
||||
; --geoip-db
|
||||
geoip_database={GEOIP_DATABASE}
|
||||
|
||||
; --workers
|
||||
workers={WORKERS}
|
||||
|
||||
; --limit-memory-soft
|
||||
limit_memory_soft={LIMIT_MEMORY_SOFT}
|
||||
|
||||
; --limit-memory-hard
|
||||
limit_memory_hard={LIMIT_MEMORY_HARD}
|
||||
|
||||
; --limit-time-cpu
|
||||
limit_time_cpu={LIMIT_TIME_CPU}
|
||||
|
||||
; --limit-time-real
|
||||
limit_time_real={LIMIT_TIME_REAL}
|
||||
|
||||
; --limit-time-real-cron
|
||||
limit_time_real_cron={LIMIT_TIME_REAL_CRON}
|
||||
|
||||
; --limit-request
|
||||
limit_request={LIMIT_REQUEST}
|
||||
EOF
|
||||
)
|
||||
|
||||
# Override defaults with values from environment variables
|
||||
for key in "${!defaults[@]}"; do
|
||||
if [[ ! ${defaults[$key]} =~ ^\{.*\}$ ]]; then
|
||||
value=${!key:-${defaults[$key]}}
|
||||
template="${template//\{$key\}/$value}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Store the result to the odoo.conf file
|
||||
echo "$template" > ${ODOO_RC}
|
||||
Reference in New Issue
Block a user