DocSpace-buildtools/install/deb/debian/postinst

110 lines
3.0 KiB
Plaintext
Raw Normal View History

2023-04-28 06:59:32 +00:00
#!/bin/bash
set -e
. /usr/share/debconf/confmodule
case "$1" in
configure)
2023-04-28 06:59:32 +00:00
db_get {{product}}/environment || true
ENVIRONMENT="$RET"
db_get {{product}}/host || true
APP_HOST="$RET"
db_get {{product}}/port || true
APP_PORT="$RET"
2023-04-28 10:18:28 +00:00
db_get {{product}}/machinekey || true
CORE_MACHINEKEY="$RET"
2023-04-28 06:59:32 +00:00
args+=(-e "$ENVIRONMENT" -ash "$APP_HOST" -asp "$APP_PORT" );
[ -z "$CORE_MACHINEKEY" ] && CORE_MACHINEKEY=$(cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 12) && db_set {{product}}/machinekey $CORE_MACHINEKEY
args+=(-mk "$CORE_MACHINEKEY" )
2023-04-28 06:59:32 +00:00
db_get {{product}}/db-host || true
DB_HOST="$RET"
db_get {{product}}/db-name || true
DB_NAME="$RET"
db_get {{product}}/db-user || true
DB_USER="$RET"
db_get {{product}}/db-pwd || true
DB_PWD="$RET"
args+=(-mysqlh "$DB_HOST" -mysqld "$DB_NAME" -mysqlu "$DB_USER" );
[ -n "$DB_PWD" ] && args+=(-mysqlp "$DB_PWD" );
2023-04-28 06:59:32 +00:00
command -v mysql >/dev/null 2>&1 || { echo "MySQL client not found"; exit 1; }
MYSQL="mysql -h$DB_HOST -u$DB_USER"
if [ -n "$DB_PWD" ]; then
MYSQL="$MYSQL -p$DB_PWD"
fi
$MYSQL -e ";" >/dev/null 2>&1
ERRCODE=$?
if [ $ERRCODE -ne 0 ]; then
systemctl mysql start >/dev/null 2>&1
$MYSQL -e ";" >/dev/null 2>&1 || { echo "Trying to establish MySQL connection... FAILURE"; exit 1; }
fi
2023-04-28 06:59:32 +00:00
db_get {{product}}/redis-host || true
REDIS_HOST="$RET"
db_get {{product}}/redis-port || true
REDIS_PORT="$RET"
[ -n "$REDIS_HOST" ] && args+=(-rdh "$REDIS_HOST" -rdp "$REDIS_PORT" );
2023-04-28 06:59:32 +00:00
db_get {{product}}/rabbitmq-host || true
RABBITMQ_HOST="$RET"
db_get {{product}}/rabbitmq-user || true
RABBITMQ_USER="$RET"
db_get {{product}}/rabbitmq-port || true
RABBITMQ_PORT="$RET"
db_get {{product}}/rabbitmq-password || true
RABBITMQ_PASSWORD="$RET"
[ -n "$RABBITMQ_HOST" ] && args+=(-rbh "$RABBITMQ_HOST" -rbp "$RABBITMQ_PORT" -rbu "$RABBITMQ_USER" -rbpw "$RABBITMQ_PASSWORD" );
2023-04-28 06:59:32 +00:00
db_get {{product}}/elasticsearch-sheme || true
ELK_SHEME="$RET"
db_get {{product}}/elasticsearch-host || true
ELK_HOST="$RET"
db_get {{product}}/elasticsearch-port || true
ELK_PORT="$RET"
[ -n "$ELK_HOST" ] && args+=(-ess "$ELK_SHEME" -esh "$ELK_HOST" -esp "$ELK_PORT" );
2023-04-28 06:59:32 +00:00
db_get {{product}}/ds-url || true
DOCUMENT_SERVER_URL_EXTERNAL="$RET"
db_get {{product}}/jwt-secret || true
DOCUMENT_SERVER_JWT_SECRET="$RET"
db_get {{product}}/jwt-header || true
DOCUMENT_SERVER_JWT_HEADER="$RET"
2023-04-28 06:59:32 +00:00
if [ -n "$DOCUMENT_SERVER_URL_EXTERNAL" ]; then
if [ -n "$DOCUMENT_SERVER_JWT_SECRET" ] && [ -n "$DOCUMENT_SERVER_JWT_HEADER" ]; then
args+=(-docsurl "$DOCUMENT_SERVER_URL_EXTERNAL" -js "$DOCUMENT_SERVER_JWT_SECRET" -jh "$DOCUMENT_SERVER_JWT_HEADER")
else
echo "You should provide JWT-secret and JWT-header along with ONLYOFFICE Docs URL. "
fi
fi
2023-04-28 06:59:32 +00:00
bash /usr/bin/{{product}}-configuration "${args[@]}"
exit 0
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0