odoo/docker/odoo14/docker-entrypoint.sh

51 lines
1.3 KiB
Bash

#!/bin/sh
set -eu
mkdir -p /opt/odoo/etc
envsubst < /opt/odoo/odoo.conf.tpl > /opt/odoo/etc/odoo.conf
export PGHOST=${DB_HOST}
export PGPORT=${DB_PORT:-5432}
export PGUSER=${DB_USER}
export PGPASSWORD=${DB_PASSWORD}
export PGDATABASE=${DB_NAME}
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
# 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 --verbose "$ENTRYPOINT_DIR"
else
run-parts --verbose "$ENTRYPOINT_DIR"
fi
fi
fi
if [ -z "${NOGOSU:-}" ] ; then
echo "Running $@ with UID $USER_ID"
exec gosu odoo "$@"
else
echo "Running $@"
exec "$@"
fi