Luigit
repositories / bugabinga.net

bugabinga.net

personal infrastructure for bugabinga!

owned by admin

scripts/remote/restart-luci-if-installed.sh

Raw
#!/usr/bin/env bash
set -euo pipefail

user="${CI_USER:-ci}"
home_dir="/home/${user}"
uid="$(id -u "${user}")"
runtime="/run/user/${uid}"
install -d -o "${user}" -g "${user}" -m 0700 "${runtime}"

run_ci() {
  runuser -u "${user}" -- env \
    HOME="${home_dir}" \
    USER="${user}" \
    LOGNAME="${user}" \
    XDG_RUNTIME_DIR="${runtime}" \
    DBUS_SESSION_BUS_ADDRESS="unix:path=${runtime}/bus" \
    bash -lc "cd '${home_dir}' && $1"
}

if [ -f "${home_dir}/.config/containers/systemd/luci.container" ]; then
  run_ci 'systemctl --user daemon-reload'
  run_ci 'systemctl --user restart luci.service || systemctl --user start luci.service'
else
  echo "luci quadlet not installed yet; run just apply after image load"
fi