2026-02-20 08:16:43 -05:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
REPO_ROOT="${1:-/home/bestmidi/chgrid}"
|
2026-02-20 16:55:44 -05:00
|
|
|
UNIT_NAME="${2:-chat-grid.service}"
|
2026-02-20 08:16:43 -05:00
|
|
|
SRC_UNIT="$REPO_ROOT/deploy/systemd/$UNIT_NAME"
|
|
|
|
|
DST_UNIT="/etc/systemd/system/$UNIT_NAME"
|
2026-02-24 23:02:53 -05:00
|
|
|
DROPIN_FILE="/etc/systemd/system/$UNIT_NAME.d/env.conf"
|
2026-02-20 08:16:43 -05:00
|
|
|
|
|
|
|
|
if [[ ! -f "$SRC_UNIT" ]]; then
|
|
|
|
|
echo "error: unit file not found: $SRC_UNIT" >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
sudo cp "$SRC_UNIT" "$DST_UNIT"
|
2026-02-24 23:02:53 -05:00
|
|
|
if [[ -f "$DROPIN_FILE" ]]; then
|
|
|
|
|
sudo rm -f "$DROPIN_FILE"
|
2026-02-24 22:57:05 -05:00
|
|
|
fi
|
2026-02-21 02:52:01 -05:00
|
|
|
sudo install -d -m 0755 -o bestmidi -g bestmidi "$REPO_ROOT/server/runtime"
|
|
|
|
|
sudo touch "$REPO_ROOT/server/runtime/server.log"
|
|
|
|
|
sudo chown bestmidi:bestmidi "$REPO_ROOT/server/runtime/server.log"
|
2026-02-20 08:16:43 -05:00
|
|
|
sudo systemctl daemon-reload
|
|
|
|
|
sudo systemctl enable --now "$UNIT_NAME"
|
|
|
|
|
sudo systemctl restart "$UNIT_NAME"
|
|
|
|
|
sudo systemctl status "$UNIT_NAME" --no-pager
|