12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- set -e
- # 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
- : ${PSQL_HOST:=${DB_PORT_5432_TCP_ADDR:='db'}}
- : ${PSQL_PORT:=${DB_PORT_5432_TCP_PORT:=5432}}
- : ${PSQL_USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
- : ${PSQL_PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
- DB_ARGS=("--config=${ODOO_CONFIG}" "--workers=0" "--dev" "--debug")
- ADDONS=("/opt/odoo/openerp/addons" "/opt/odoo/addons" "/mnt/repos")
- # Install requirements.txt and oca_dependencies.txt from root of mount
- if [[ "${SKIP_DEPENDS}" != "1" ]] ; then
- export VERSION=$ODOO_VERSION
- clone_oca_dependencies /mnt/repos /tmp
- # Iterate the newly cloned addons & add into possible dirs
- for dir in /opt/odoo/repos/*/ ; do
- ADDONS+=("$dir")
- done
- VALID_ADDONS="$(getaddons.py ${ADDONS[*]})"
- DB_ARGS+=("--addons-path=${VALID_ADDONS}")
- fi
- # Pull database from config file if present & validate
- function check_config() {
- param="$1"
- value="$2"
- if ! grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_CONFIG" ; then
- DB_ARGS+=("--${param}")
- DB_ARGS+=("${value}")
- fi;
- }
- check_config "db_host" "$PSQL_HOST"
- check_config "db_port" "$PSQL_PORT"
- check_config "db_user" "$PSQL_USER"
- check_config "db_password" "$PSQL_PASSWORD"
- # Execute
- case "$1" in
- -- | openerp-server)
- shift
- if [[ "$1" == "scaffold" ]] ; then
- su-exec odoo /opt/odoo/odoo.py "$@"
- else
- su-exec odoo /opt/odoo/odoo.py "$@" "${DB_ARGS[@]}"
- fi
- ;;
- -*)
- su-exec odoo /opt/odoo/odoo.py "$@" "${DB_ARGS[@]}"
- ;;
- *)
- "$@"
- esac
- exit 1
|