114 lines
5.0 KiB
Bash
Executable File
114 lines
5.0 KiB
Bash
Executable File
#!/bin/bash
|
|
PARAMETERS=${PARAMETERS:-""}
|
|
# read parameters
|
|
if [ -n "$1" ]; then
|
|
RUN_COMMAND="${1}";
|
|
shift
|
|
fi
|
|
|
|
if [ -n "$1" ]; then
|
|
RUN_FILE="${1}";
|
|
shift
|
|
fi
|
|
|
|
if [ -n "$1" ]; then
|
|
NAME_SERVICE="${1}";
|
|
shift
|
|
fi
|
|
|
|
while [ "$1" != "" ]; do
|
|
PARAMETERS="$PARAMETERS ${1}";
|
|
echo $PARAMETERS
|
|
shift
|
|
done
|
|
|
|
echo "Executing -- ${NAME_SERVICE}"
|
|
|
|
PRODUCT=${PRODUCT:-"onlyoffice"}
|
|
ENV_EXTENSION=${ENV_EXTENSION:-"test"}
|
|
PROXY_HOST=${PROXY_HOST:-"proxy"}
|
|
|
|
SHEME=${SHEME:-"http"}
|
|
SERVICE_PORT=${SERVICE_PORT:-"5050"}
|
|
URLS=${URLS:-"${SHEME}://0.0.0.0:${SERVICE_PORT}"}
|
|
|
|
PATH_TO_CONF=${PATH_TO_CONF:-"/app/${PRODUCT}/config"}
|
|
LOG_DIR=${LOG_DIR:-"/var/log/${PRODUCT}"}
|
|
|
|
MYSQL_HOST=${MYSQL_HOST:-"mysql-server"}
|
|
MYSQL_DATABASE=${MYSQL_DATABASE:-${PRODUCT}}
|
|
MYSQL_USER=${MYSQL_USER:-"${PRODUCT}_user"}
|
|
MYSQL_PASSWORD=${MYSQL_PASSWORD:-"${PRODUCT}_pass"}
|
|
|
|
APP_CORE_BASE_DOMAIN=${APP_CORE_BASE_DOMAIN:-"localhost"}
|
|
APP_URL_PORTAL=${APP_URL_PORTAL:-"${SHEME}://${PROXY_HOST}:8092"}
|
|
|
|
APP_CORE_MACHINEKEY=${APP_CORE_MACHINEKEY:-"your_core_machinekey"}
|
|
DOCUMENT_SERVER_JWT_SECRET=${DOCUMENT_SERVER_JWT_SECRET:-"your_jwt_secret"}
|
|
DOCUMENT_SERVER_JWT_HEADER=${DOCUMENT_SERVER_JWT_HEADER:-"AuthorizationJwt"}
|
|
DOCUMENT_SERVER_URL_PUBLIC=${DOCUMENT_SERVER_URL_PUBLIC:-"/ds-vpath/"}
|
|
DOCUMENT_SERVER_URL_INTERNAL=${DOCUMENT_SERVER_URL_INTERNAL:-"${SHEME}://${PRODUCT}-document-server/"}
|
|
|
|
ELK_SHEME=${ELK_SHEME:-"http"}
|
|
ELK_HOST=${ELK_HOST:-"${PRODUCT}-elasticsearch"}
|
|
ELK_PORT=${ELK_PORT:-"9200"}
|
|
ELK_THREADS=${ELK_THREADS:-"1"}
|
|
|
|
DATABASE_MIGRATION=${DATABASE_MIGRATION:-"false"}
|
|
|
|
KAFKA_HOST=${KAFKA_HOST:-"kafka"}":9092"
|
|
|
|
APP_STORAGE_ROOT=${APP_STORAGE_ROOT:-"${BASE_DIR}/data/"}
|
|
|
|
# function modifyJsonConfigFile {
|
|
# if [ -f $1 ]
|
|
# then
|
|
# pathToJsonConfig=$1
|
|
# else
|
|
# echo "Can't find configure file $1"
|
|
# return $?
|
|
# fi
|
|
|
|
# for i in ${!arrayJsonConfig[@]}; do
|
|
# python appsettings-jsonpath.py "${pathToJsonConfig}" "${arrayJsonConfig[$i]}"
|
|
# done
|
|
|
|
# return 1
|
|
# }
|
|
|
|
# arrayJsonConfig=("ConnectionStrings.default.connectionString = Server=${MYSQL_HOST};\
|
|
# Port=3306;\
|
|
# Database=${MYSQL_DATABASE};\
|
|
# User ID=${MYSQL_USER};\
|
|
# Password=${MYSQL_PASSWORD};\
|
|
# Pooling=true;\
|
|
# Character Set=utf8;\
|
|
# AutoEnlist=false;\
|
|
# SSL Mode=none;\
|
|
# AllowPublicKeyRetrieval=True;\
|
|
# ConnectionReset=false")
|
|
|
|
# modifyJsonConfigFile ${PATH_TO_CONF}/appsettings.json
|
|
|
|
sed -i "s!Server=.*;Pooling=!Server=${MYSQL_HOST};Port=3306;Database=${MYSQL_DATABASE};User ID=${MYSQL_USER};Password=${MYSQL_PASSWORD};Pooling=!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"base-domain\".*,!\"base-domain\": \"${APP_CORE_BASE_DOMAIN}\",!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"machinekey\".*,!\"machinekey\": \"${APP_CORE_MACHINEKEY}\",!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"public\".*,!\"public\": \"${DOCUMENT_SERVER_URL_PUBLIC}\",!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"internal\".*,!\"internal\": \"${DOCUMENT_SERVER_URL_INTERNAL}\",!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"portal\".*!\"portal\": \"${APP_URL_PORTAL}\",!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "0,/\"value\"/s!\"value\".*,!\"value\": \"${DOCUMENT_SERVER_JWT_SECRET}\",!" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"header\".*!\"header\": \"${DOCUMENT_SERVER_JWT_HEADER}\"!" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
sed -i "s!\"core\".*{!\"migration\": {\n\"enabled\": \"${DATABASE_MIGRATION}\"\n},\n\"core\": {!g" ${PATH_TO_CONF}/appsettings.${ENV_EXTENSION}.json
|
|
|
|
sed -i "s!\"Scheme\".*!\"Scheme\": \"${ELK_SHEME}\",!g" ${PATH_TO_CONF}/elastic.json
|
|
sed -i "s!\"Host\".*!\"Host\": \"${ELK_HOST}\",!g" ${PATH_TO_CONF}/elastic.json
|
|
sed -i "s!\"Port\".*!\"Port\": \"${ELK_PORT}\",!g" ${PATH_TO_CONF}/elastic.json
|
|
sed -i "s!\"Threads\".*!\"Threads\": \"${ELK_THREADS}\"!g" ${PATH_TO_CONF}/elastic.json
|
|
|
|
#sed -i "s!\"subfolder\".*!\"subfolder\": \"server\",!g" ${PATH_TO_CONF}/appsettings.services.json
|
|
sed -i "s!\"BootstrapServers\".*!\"BootstrapServers\": \"${KAFKA_HOST}\"!g" ${PATH_TO_CONF}/kafka.${ENV_EXTENSION}.json
|
|
|
|
sed -i "s!\"path\".*!\"path\": \"../../ASC.Socket.IO\"!g" ${PATH_TO_CONF}/socket.${APP_DOTNET_ENV}.json
|
|
|
|
dotnet ${DOTNET_RUN} --urls=${URLS} --ENVIRONMENT=${APP_DOTNET_ENV} --'$STORAGE_ROOT'=${APP_STORAGE_ROOT} --pathToConf=${PATH_TO_CONF} --log:dir=${LOG_DIR} --log:name=${DOTNET_LOG_NAME} ${PARAMETERS}
|