56 lines
1.5 KiB
Bash
56 lines
1.5 KiB
Bash
#!/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
|