#!/bin/bash set -e . /usr/share/debconf/confmodule case "$1" in configure) db_get {{product}}/environment || true ENVIRONMENT="$RET" db_get {{product}}/host || true APP_HOST="$RET" db_get {{product}}/port || true APP_PORT="$RET" db_get {{product}}/machinekey || true CORE_MACHINEKEY="$RET" 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" ) 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" ); 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 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" ); 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" ); 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" ); 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" 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 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