diff --git a/10.0/entrypoint.sh b/10.0/entrypoint.sh index 9fe792f..576a165 100755 --- a/10.0/entrypoint.sh +++ b/10.0/entrypoint.sh @@ -2,13 +2,26 @@ set -e -# set the postgres database host, port, user and password +# set the postgres database host, port, user and password according to the environment +# and pass them as arguments to the odoo process if not present in the config file : ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}} : ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}} : ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}} : ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}} -# pass them as arguments to the odoo process -DB_ARGS=("--db_user" $USER "--db_password" $PASSWORD "--db_host" $HOST "--db_port" $PORT) + +DB_ARGS=() +function check_config() { + param="$1" + value="$2" + if ! grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC" ; then + DB_ARGS+=("--${param}") + DB_ARGS+=("${value}") + fi; +} +check_config "db_host" "$HOST" +check_config "db_port" "$PORT" +check_config "db_user" "$USER" +check_config "db_password" "$PASSWORD" case "$1" in -- | odoo) diff --git a/8.0/entrypoint.sh b/8.0/entrypoint.sh index 50e82bc..3e1ab0f 100755 --- a/8.0/entrypoint.sh +++ b/8.0/entrypoint.sh @@ -2,13 +2,26 @@ set -e -# set the postgres database host, port, user and password +# set the postgres database host, port, user and password according to the environment +# and pass them as arguments to the odoo process if not present in the config file : ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}} : ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}} : ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}} : ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}} -# pass them as arguments to the odoo process -DB_ARGS=("--db_user" $USER "--db_password" $PASSWORD "--db_host" $HOST "--db_port" $PORT) + +DB_ARGS=() +function check_config() { + param="$1" + value="$2" + if ! grep -q -E "^\s*\b${param}\b\s*=" "$OPENERP_SERVER" ; then + DB_ARGS+=("--${param}") + DB_ARGS+=("${value}") + fi; +} +check_config "db_host" "$HOST" +check_config "db_port" "$PORT" +check_config "db_user" "$USER" +check_config "db_password" "$PASSWORD" case "$1" in -- | openerp-server) diff --git a/9.0/entrypoint.sh b/9.0/entrypoint.sh index 50e82bc..3e1ab0f 100755 --- a/9.0/entrypoint.sh +++ b/9.0/entrypoint.sh @@ -2,13 +2,26 @@ set -e -# set the postgres database host, port, user and password +# set the postgres database host, port, user and password according to the environment +# and pass them as arguments to the odoo process if not present in the config file : ${HOST:=${DB_PORT_5432_TCP_ADDR:='db'}} : ${PORT:=${DB_PORT_5432_TCP_PORT:=5432}} : ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}} : ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}} -# pass them as arguments to the odoo process -DB_ARGS=("--db_user" $USER "--db_password" $PASSWORD "--db_host" $HOST "--db_port" $PORT) + +DB_ARGS=() +function check_config() { + param="$1" + value="$2" + if ! grep -q -E "^\s*\b${param}\b\s*=" "$OPENERP_SERVER" ; then + DB_ARGS+=("--${param}") + DB_ARGS+=("${value}") + fi; +} +check_config "db_host" "$HOST" +check_config "db_port" "$PORT" +check_config "db_user" "$USER" +check_config "db_password" "$PASSWORD" case "$1" in -- | openerp-server)