31 lines
908 B
Bash
Executable File
31 lines
908 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
TEMPLATE="$BASE_DIR/scripts/systemd/netgescon-smdr-listener.service.template"
|
|
|
|
SERVICE_NAME="${SERVICE_NAME:-netgescon-smdr-listener.service}"
|
|
RUN_AS="${RUN_AS:-www-data}"
|
|
RUN_GROUP="${RUN_GROUP:-$RUN_AS}"
|
|
INSTALL_DIR="${INSTALL_DIR:-/etc/systemd/system}"
|
|
TARGET_FILE="$INSTALL_DIR/$SERVICE_NAME"
|
|
|
|
if [[ ! -f "$TEMPLATE" ]]; then
|
|
echo "Template non trovato: $TEMPLATE" >&2
|
|
exit 1
|
|
fi
|
|
|
|
TMP_FILE="$(mktemp)"
|
|
trap 'rm -f "$TMP_FILE"' EXIT
|
|
|
|
sed \
|
|
-e "s|@BASE_DIR@|$BASE_DIR|g" \
|
|
-e "s|@RUN_AS@|$RUN_AS|g" \
|
|
-e "s|@RUN_GROUP@|$RUN_GROUP|g" \
|
|
"$TEMPLATE" > "$TMP_FILE"
|
|
|
|
echo "Installo $SERVICE_NAME in $TARGET_FILE"
|
|
sudo install -o root -g root -m 0644 "$TMP_FILE" "$TARGET_FILE"
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable --now "$SERVICE_NAME"
|
|
sudo systemctl status "$SERVICE_NAME" --no-pager |