upgraded assets for webpanel, further enhancements and fixes regarding docker env

This commit is contained in:
crieke
2026-04-13 04:19:15 +02:00
parent c4548430a7
commit 3c017e9c68
91 changed files with 78899 additions and 40263 deletions

View File

@@ -7,15 +7,8 @@ QCS_NAME="container-station"
QCS_QPKG_DIR=$(/sbin/getcfg $QCS_NAME Install_Path -f $CONF)
DOCKER_CMD=$QCS_QPKG_DIR/bin/system-docker
CONTAINER_NAME=roonserver
COMPOSE_YML_DIR=$QPKG_ROOT/docker/compose/
COMPOSE_FILES="\
-f $COMPOSE_YML_DIR/roonserver.yml \
-f $COMPOSE_YML_DIR/platform_specific.yml \
-f $COMPOSE_YML_DIR/smb_cifs_support.yml \
-f $COMPOSE_YML_DIR/audio.yml \
-f $COMPOSE_YML_DIR/audio_usb.yml \
-f $COMPOSE_YML_DIR/audio_hdmi.yml"
COMPOSE_YML_DIR=$QPKG_ROOT/docker/compose
ROONSERVER_OPTIONS=(`/sbin/getcfg $QPKG_NAME options -f ${CONF}`)
WEB_PATH="/home/httpd"
WEBUI=$(/sbin/getcfg $QPKG_NAME webUI -f ${CONF});
@@ -23,7 +16,7 @@ WEBUI=$(/sbin/getcfg $QPKG_NAME webUI -f ${CONF});
ROONONNAS_DIR=`/sbin/getcfg $QPKG_NAME DB_Path -f /etc/config/qpkg.conf`
ROON_DATAROOT="${ROONONNAS_DIR}/RoonOnNAS"
ROON_TMP_DIR="${QPKG_ROOT}/tmp"
ROON_ID_DIR="${QPKG_ROOT}/id"
ROON_ID_HOST_DIR="${QPKG_ROOT}/id"
QNAP_QTS_VER=$(/sbin/getcfg system version)
QNAP_QTS_BUILD=$(/sbin/getcfg system 'Build Number')
@@ -44,6 +37,28 @@ ST_COLOR="\033[38;5;34m"
HL_COLOR="\033[38;5;197m"
REG_COLOR="\033[0m"
#specify options
for i in "${ROONSERVER_OPTIONS[@]}"
do
declare $i=true
done
compose_docker_yml_files () {
COMPOSE_FILES="\
-f ${COMPOSE_YML_DIR}/roonserver.yml \
-f ${COMPOSE_YML_DIR}/platform_specific.yml "
[ -z ${smb_cifs+x} ] || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/smb_cifs_support.yml"
( [ -z ${usb_audio+x} ] && [ -z ${hdmi_audio+x} ] ) || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/audio.yml"
[ -z ${usb_audio+x} ] || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/audio_usb.yml"
[ -z ${hdmi_audio+x} ] || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/audio_hdmi.yml"
}
## Log Function
echolog () {
TIMESTAMP=$(date +%d.%m.%y-%H:%M:%S)
@@ -66,7 +81,7 @@ info ()
## Echoing System Info
echolog "ROON_DATABASE_DIR" "${ROON_DATAROOT} - [`[ -d \"${ROON_DATAROOT}\" ] && echo \"available\" || echo \"not available\"`]"
echolog "ROON_DATABASE_DIR_FS" "${ROON_DATABASE_DIR_FS}"
echolog "ROON_ID_DIR" "$ROON_ID_DIR - [`[ -d \"$ROON_ID_DIR\" ] && echo \"available\" || echo \"not available\"`]"
echolog "ROON_ID_HOST_DIR" "$ROON_ID_HOST_DIR - [`[ -d \"$ROON_ID_HOST_DIR\" ] && echo \"available\" || echo \"not available\"`]"
echolog "Free Inodes" "${ROON_DATABASE_DIR_FREE_INODES}"
echolog "ROON_DIR" "${QPKG_ROOT}"
echolog "Model" "${QNAP_MODEL}"
@@ -88,18 +103,11 @@ RoonOnNAS_folderCheck ()
start_RoonServer () {
if [ "${ROON_DATAROOT}" != "/RoonOnNAS" ] && [ -d "${ROON_DATAROOT}" ]; then
export ROON_DATAROOT
export ROON_ID_DIR
export QNAP_MODEL
export QNAP_SERIAL
export QNAP_QTS_VER
export CONTAINER_NAME
compose_docker_yml_files
export_vars
## Creating required directories, if they do not exist
[ -d "$ROON_ID_DIR" ] || mkdir "$ROON_ID_DIR"
[ -d "$ROON_ID_HOST_DIR" ] || mkdir "$ROON_ID_HOST_DIR"
[ -d "$ROON_TMP_DIR" ] || mkdir "$ROON_TMP_DIR"
${DOCKER_CMD} compose ${COMPOSE_FILES} up -d
@@ -107,6 +115,15 @@ start_RoonServer () {
fi
}
export_vars ()
{
export ROON_DATAROOT
export QPKG_ROOT
export QNAP_MODEL
export QNAP_SERIAL
export QNAP_QTS_VER
export CONTAINER_NAME
}
start_daemon ()
{
@@ -124,20 +141,23 @@ case "$1" in
echolog "$QPKG_NAME is disabled."
exit 1
fi
if [ ! "$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)" ]; then
CONTAINER_ID=$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)
if [ ! "$CONTAINER_ID" ]; then
echo "not running"
start_daemon
else
echolog "${QPKG_NAME} is already running with..."
echolog "${QPKG_NAME} is already running (ID: $CONTAINER_ID)"
fi
;;
stop)
if [ ! "$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)" ]; then
CONTAINER_ID=$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)
if [ ! "$CONTAINER_ID" ]; then
echolog "${QPKG_NAME} is not running."
else
echolog "Stopping RoonServer..."
export CONTAINER_NAME
compose_docker_yml_files
export_vars
${DOCKER_CMD} compose ${COMPOSE_FILES} down
if [[ $2 != "keepwebalive" ]]; then
rm -rf "${QPKG_ROOT}/web/tmp"/*