You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.7 KiB
69 lines
2.7 KiB
#!/bin/sh
|
|
###############################################################################
|
|
# Copyright (C) 2020 Simon Adlem, G7RZU <g7rzu@gb7fr.org.uk>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
###############################################################################
|
|
|
|
cd /opt/freedmr
|
|
|
|
HDSTACK_COUNT="${HDSTACK:-1}"
|
|
HDSTACK_BRIDGE="${HDSTACK_BRIDGE:-1}"
|
|
HDSTACK_OUTPUT_DIR="${HDSTACK_OUTPUT_DIR:-/dev/shm/freedmr-hdstack}"
|
|
HDSTACK_BRIDGE_CONFIG="${HDSTACK_BRIDGE_CONFIG:-/opt/freedmr/freedmr-bridge.cfg}"
|
|
HDSTACK_BRIDGE_RULES="${HDSTACK_BRIDGE_RULES:-/opt/freedmr/rules.py}"
|
|
|
|
if [ "$BRIDGE_SERVER" == 1 ]
|
|
then
|
|
echo 'Starting in Bridge mode...'
|
|
exec python /opt/freedmr/bridge.py -c freedmr.cfg -r rules.py
|
|
|
|
elif [ "$HDSTACK_COUNT" = 1 ]
|
|
then
|
|
echo 'Starting in FreeDMR mode...'
|
|
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|
|
#python /opt/freedmr/hotspot_proxy_v2.py &
|
|
#python /opt/freedmr/playback.py -c loro.cfg &
|
|
#exec python /opt/freedmr/bridge_master.py -c freedmr.cfg
|
|
|
|
elif [ "$HDSTACK_COUNT" -ge 2 ] 2>/dev/null && [ "$HDSTACK_COUNT" -le 5 ] 2>/dev/null
|
|
then
|
|
if [ -z "$HDSTACK_BASEID" ]
|
|
then
|
|
echo 'HDSTACK_BASEID is required when HDSTACK is 2..5' >&2
|
|
exit 2
|
|
fi
|
|
|
|
echo "Starting HDStack with $HDSTACK_COUNT workers..."
|
|
python /opt/freedmr/hdstack_runtime.py \
|
|
--main-config /opt/freedmr/freedmr.cfg \
|
|
--bridge-config "$HDSTACK_BRIDGE_CONFIG" \
|
|
--bridge-rules "$HDSTACK_BRIDGE_RULES" \
|
|
--output-dir "$HDSTACK_OUTPUT_DIR" \
|
|
--instances "$HDSTACK_COUNT" \
|
|
--base-id "$HDSTACK_BASEID" \
|
|
--bridge-enabled "$HDSTACK_BRIDGE"
|
|
status=$?
|
|
if [ "$status" -ne 0 ]
|
|
then
|
|
exit "$status"
|
|
fi
|
|
exec /usr/bin/supervisord -c "$HDSTACK_OUTPUT_DIR/supervisord.conf"
|
|
|
|
else
|
|
echo 'HDSTACK must be omitted or set to an integer from 1 to 5' >&2
|
|
exit 2
|
|
fi
|