2022-05-30 20:21:45 +00:00
#!/bin/bash
2021-11-02 11:38:11 +00:00
PARAMETERS = ${ PARAMETERS :- "" }
2021-10-06 13:43:18 +00:00
# read parameters
if [ -n " $1 " ] ; then
2022-05-30 20:21:45 +00:00
RUN_COMMAND = " ${ 1 } " ;
2021-10-06 13:43:18 +00:00
shift
fi
if [ -n " $1 " ] ; then
2022-05-30 20:21:45 +00:00
RUN_FILE = " ${ 1 } " ;
shift
fi
if [ -n " $1 " ] ; then
NAME_SERVICE = " ${ 1 } " ;
2021-10-06 13:43:18 +00:00
shift
fi
while [ " $1 " != "" ] ; do
2022-05-30 20:21:45 +00:00
PARAMETERS = " $PARAMETERS ${ 1 } " ;
echo $PARAMETERS
2021-10-06 13:43:18 +00:00
shift
done
2022-05-30 20:21:45 +00:00
echo " Executing -- ${ NAME_SERVICE } "
2020-12-25 11:27:26 +00:00
PRODUCT = ${ PRODUCT :- "onlyoffice" }
2022-05-30 20:21:45 +00:00
ENV_EXTENSION = ${ ENV_EXTENSION :- "test" }
2020-12-25 11:27:26 +00:00
PROXY_HOST = ${ PROXY_HOST :- "proxy" }
2022-05-30 20:21:45 +00:00
2020-12-25 11:27:26 +00:00
SHEME = ${ SHEME :- "http" }
SERVICE_PORT = ${ SERVICE_PORT :- "5050" }
URLS = ${ URLS :- " ${ SHEME } ://0.0.0.0: ${ SERVICE_PORT } " }
2022-05-30 20:21:45 +00:00
PATH_TO_CONF = ${ PATH_TO_CONF :- " /app/ ${ PRODUCT } /config " }
2020-12-25 11:27:26 +00:00
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" }
2021-06-17 09:49:39 +00:00
ELK_HOST = ${ ELK_HOST :- " ${ PRODUCT } -elasticsearch " }
2020-12-25 11:27:26 +00:00
ELK_PORT = ${ ELK_PORT :- "9200" }
2021-06-18 11:30:11 +00:00
ELK_THREADS = ${ ELK_THREADS :- "1" }
2020-12-25 11:27:26 +00:00
2022-03-29 12:39:54 +00:00
DATABASE_MIGRATION = ${ DATABASE_MIGRATION :- "false" }
2020-12-25 11:27:26 +00:00
KAFKA_HOST = ${ KAFKA_HOST :- "kafka" } ":9092"
APP_STORAGE_ROOT = ${ APP_STORAGE_ROOT :- " ${ BASE_DIR } /data/ " }
2022-05-30 20:21:45 +00:00
# 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
2022-05-25 09:00:22 +00:00
2022-05-30 20:21:45 +00:00
# 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
2020-12-25 11:27:26 +00:00
2021-06-18 11:30:11 +00:00
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
2022-05-30 20:21:45 +00:00
#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
2022-04-29 07:21:18 +00:00
sed -i "s!\"path\".*!\"path\": \"../../ASC.Socket.IO\"!g" ${ PATH_TO_CONF } /socket.${ APP_DOTNET_ENV } .json
2020-12-25 11:27:26 +00:00
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 }