#!/bin/sh set -e mkdir -p /opt/odoo/etc envsubst < /opt/odoo/odoo.conf.tpl > /opt/odoo/etc/odoo.conf export PGHOST="${DB_HOST:-db}" export PGPORT="${DB_PORT:-5432}" export PGUSER="${DB_USER:-odoo}" export PGPASSWORD="${DB_PASSWORD:-odoo}" export PGDATABASE="${DB_NAME:-odoo}" mkdir -p /data/odoo/{addons,filestore,sessions} if [ ! "$(stat -c '%U' /data/odoo)" = "odoo" ]; then chown -R odoo: /data/odoo fi BASE_CMD=$(basename $1) if [ "$BASE_CMD" = "odoo" ] || [ "$BASE_CMD" = "odoo.py" ] || [ "$BASE_CMD" = "odoo-bin" ] || [ "$BASE_CMD" = "openerp-server" ] ; then # wait db while ! psql -l -h "$DB_HOST" -U "$DB_USER" >/dev/null 2>&1; do count="$(( ${count:-0}+1 ))" [ "${count}" -eq "${DB_WAIT:-24}" ] && echo "Unable to connect to db host: $DB_HOST" && exit 1 sleep 1 done # create db if ! psql -lqtA -h "$DB_HOST" -U "$DB_USER" | grep -q "^$DB_NAME|"; then createdb -h "$DB_HOST" -U "$DB_USER" -O "$DB_USER" "$DB_NAME" fi # update db MARABUNTA_DB_HOST="$DB_HOST" \ MARABUNTA_DATABASE="$DB_NAME" \ MARABUNTA_DB_USER="$DB_USER" \ MARABUNTA_DB_PASSWORD="$DB_PASSWORD" \ MARABUNTA_DB_PORT="$DB_PORT" \ unbuffer marabunta --migration-file /opt/odoo/migration.yml ENTRYPOINT_DIR=/opt/odoo/entrypoint.d if [ -d "$ENTRYPOINT_DIR" ]; then if [ -z "${NOGOSU:-}" ] ; then gosu odoo run-parts "$ENTRYPOINT_DIR" else run-parts "$ENTRYPOINT_DIR" fi fi fi if [ -z "${NOGOSU:-}" ] ; then exec gosu odoo "$@" else exec "$@" fi