diff options
Diffstat (limited to 'setup/redhat/postinstall.sh')
| -rw-r--r-- | setup/redhat/postinstall.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/setup/redhat/postinstall.sh b/setup/redhat/postinstall.sh new file mode 100644 index 00000000..82d31f09 --- /dev/null +++ b/setup/redhat/postinstall.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +set -e + +ODOO_CONFIGURATION_DIR=/etc/odoo +ODOO_CONFIGURATION_FILE=$ODOO_CONFIGURATION_DIR/odoo.conf +ODOO_DATA_DIR=/var/lib/odoo +ODOO_GROUP="odoo" +ODOO_LOG_DIR=/var/log/odoo +ODOO_LOG_FILE=$ODOO_LOG_DIR/odoo-server.log +ODOO_USER="odoo" +ABI=$(rpm -q --provides python3 | awk '/abi/ {print $NF}') + +if ! getent passwd | grep -q "^odoo:"; then + groupadd $ODOO_GROUP + adduser --system --no-create-home $ODOO_USER -g $ODOO_GROUP +fi +# Register "$ODOO_USER" as a postgres user with "Create DB" role attribute +su - postgres -c "createuser -d -R -S $ODOO_USER" 2> /dev/null || true +# Configuration file +mkdir -p $ODOO_CONFIGURATION_DIR +# can't copy debian config-file as addons_path is not the same +if [ ! -f $ODOO_CONFIGURATION_FILE ] +then + echo "[options] +; This is the password that allows database operations: +; admin_passwd = admin +db_host = False +db_port = False +db_user = $ODOO_USER +db_password = False +addons_path = /usr/lib/python${ABI}/site-packages/odoo/addons +" > $ODOO_CONFIGURATION_FILE + chown $ODOO_USER:$ODOO_GROUP $ODOO_CONFIGURATION_FILE + chmod 0640 $ODOO_CONFIGURATION_FILE +fi +# Log +mkdir -p $ODOO_LOG_DIR +chown $ODOO_USER:$ODOO_GROUP $ODOO_LOG_DIR +chmod 0750 $ODOO_LOG_DIR +# Data dir +mkdir -p $ODOO_DATA_DIR +chown $ODOO_USER:$ODOO_GROUP $ODOO_DATA_DIR + +INIT_FILE=/lib/systemd/system/odoo.service +touch $INIT_FILE +chmod 0700 $INIT_FILE +cat << EOF > $INIT_FILE +[Unit] +Description=Odoo Open Source ERP and CRM +After=network.target + +[Service] +Type=simple +User=odoo +Group=odoo +ExecStart=/usr/bin/odoo --config $ODOO_CONFIGURATION_FILE --logfile $ODOO_LOG_FILE +KillMode=mixed + +[Install] +WantedBy=multi-user.target +EOF |
