feat: publish dbussmsforward refactor
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
USE_PROCD=1
|
||||
START=95
|
||||
STOP=10
|
||||
|
||||
NAME="dbussmsforward"
|
||||
APP_DIR="/opt/dbussmsforward"
|
||||
CONFIG_FILE="/etc/dbussmsforward/appsettings.json"
|
||||
PYTHON_BIN="/usr/bin/python3"
|
||||
MODULE="dbussmsforward.cli"
|
||||
|
||||
start_service() {
|
||||
procd_open_instance
|
||||
procd_set_param command "$PYTHON_BIN" -m "$MODULE" run --config "$CONFIG_FILE" --iterations 0
|
||||
procd_set_param env PYTHONUNBUFFERED=1
|
||||
procd_set_param env DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket
|
||||
procd_set_param env PYTHONPATH="$APP_DIR/src"
|
||||
procd_set_param env HOME=/root
|
||||
procd_set_param working_dir "$APP_DIR"
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
procd_set_param respawn 3600 5 5
|
||||
procd_set_param file "$CONFIG_FILE"
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
procd_add_reload_trigger "$NAME"
|
||||
}
|
||||
|
||||
reload_service() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
APP_NAME="dbussmsforward"
|
||||
ROOT_DIR="${ROOT_DIR:-/}"
|
||||
APP_DIR="${ROOT_DIR%/}/opt/dbussmsforward"
|
||||
CONFIG_DIR="${ROOT_DIR%/}/etc/dbussmsforward"
|
||||
INIT_SCRIPT="${ROOT_DIR%/}/etc/init.d/${APP_NAME}"
|
||||
CONFIG_FILE="$CONFIG_DIR/appsettings.json"
|
||||
ENV_REPORT="$CONFIG_DIR/install-env-check.json"
|
||||
SKIP_SERVICE_ENABLE="${SKIP_SERVICE_ENABLE:-0}"
|
||||
|
||||
mkdir -p "$APP_DIR" "$CONFIG_DIR" "$(dirname "$INIT_SCRIPT")"
|
||||
cp -R src wwwroot pyproject.toml README.md "$APP_DIR/"
|
||||
if [ ! -f "$CONFIG_FILE" ]; then
|
||||
cp deploy/common/appsettings.deploy.json "$CONFIG_FILE"
|
||||
fi
|
||||
cp deploy/openwrt/dbussmsforward.init "$INIT_SCRIPT"
|
||||
chmod +x "$INIT_SCRIPT"
|
||||
|
||||
if ! PYTHONPATH="$APP_DIR/src" python3 -m dbussmsforward.cli env-check --config "$CONFIG_FILE" --format json > "$ENV_REPORT"; then
|
||||
echo "Environment check failed. Report saved to $ENV_REPORT" >&2
|
||||
cat "$ENV_REPORT" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$SKIP_SERVICE_ENABLE" != "1" ]; then
|
||||
"$INIT_SCRIPT" enable
|
||||
fi
|
||||
|
||||
echo "Installed to $APP_DIR"
|
||||
echo "Config: $CONFIG_FILE"
|
||||
echo "Env check report: $ENV_REPORT"
|
||||
echo "Start with: $INIT_SCRIPT start"
|
||||
echo "Logs with: logread -e ${APP_NAME}"
|
||||
Reference in New Issue
Block a user