#!/usr/bin/env sh set -eu APP_NAME="dbussmsforward" ROOT_DIR="${ROOT_DIR:-/}" APP_DIR="${ROOT_DIR%/}/opt/dbussmsforward" CONFIG_DIR="${ROOT_DIR%/}/etc/dbussmsforward" SYSTEMD_UNIT="${ROOT_DIR%/}/etc/systemd/system/${APP_NAME}.service" 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 "$SYSTEMD_UNIT")" 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/debian/dbussmsforward.service "$SYSTEMD_UNIT" 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 systemctl daemon-reload systemctl enable "$APP_NAME" fi echo "Installed to $APP_DIR" echo "Config: $CONFIG_FILE" echo "Env check report: $ENV_REPORT" echo "Start with: systemctl start $APP_NAME" echo "Logs with: journalctl -u $APP_NAME -f"