23 lines
891 B
Bash
Executable File
23 lines
891 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Installs/updates the tssbot-web and tssbot-webhook systemd --user units and (re)starts them.
|
|
# Run this after cloning, and again any time a unit file under systemd/ changes.
|
|
set -euo pipefail
|
|
|
|
repo_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
unit_dir="${HOME}/.config/systemd/user"
|
|
mkdir -p "${unit_dir}"
|
|
|
|
for unit in tssbot-web tssbot-webhook; do
|
|
ln -sf "${repo_dir}/systemd/${unit}.service" "${unit_dir}/${unit}.service"
|
|
done
|
|
|
|
systemctl --user daemon-reload
|
|
systemctl --user enable --now tssbot-web.service tssbot-webhook.service
|
|
|
|
if [ "$(loginctl show-user "$(whoami)" -p Linger --value 2>/dev/null)" != "yes" ]; then
|
|
echo "Linger is not enabled for $(whoami) — user services will stop when you log out."
|
|
echo "Enable it with: sudo loginctl enable-linger $(whoami)"
|
|
fi
|
|
|
|
systemctl --user status --no-pager tssbot-web.service tssbot-webhook.service
|