Files
RustBox/scripts/install-systemd.sh
Mateusz Gruszczyński 52d5f1745a
RustBox CI / rustbox (push) Waiting to run
v0.0.5_repoready
2026-10-30 12:52:00 +01:00

33 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
BIN="$ROOT/target/release/rustbox"
if [ "$(id -u)" -ne 0 ]; then
echo "error: run as root (sudo ./scripts/install-systemd.sh)" >&2
exit 1
fi
if [ ! -x "$BIN" ]; then
echo "error: $BIN not found; run ./scripts/build-release.sh first" >&2
exit 1
fi
getent group rustbox >/dev/null || groupadd --system rustbox
id rustbox >/dev/null 2>&1 || useradd --system --gid rustbox --home-dir /var/lib/rustbox --shell /usr/sbin/nologin rustbox
install -d -o rustbox -g rustbox -m 0750 /etc/rustbox
install -d -o rustbox -g rustbox -m 0700 /var/lib/rustbox
install -d -o rustbox -g rustbox -m 0750 /var/log/rustbox
install -m 0755 "$BIN" /usr/local/bin/rustbox
install -m 0644 "$ROOT/packaging/systemd/rustbox.service" /etc/systemd/system/rustbox.service
install -m 0644 "$ROOT/packaging/logrotate/rustbox" /etc/logrotate.d/rustbox
if [ ! -f /etc/rustbox/rustbox.toml ]; then
install -o rustbox -g rustbox -m 0640 "$ROOT/packaging/rustbox.toml" /etc/rustbox/rustbox.toml
else
chown rustbox:rustbox /etc/rustbox/rustbox.toml
chmod 0640 /etc/rustbox/rustbox.toml
fi
RUSTBOX_CONFIG=/etc/rustbox/rustbox.toml /usr/local/bin/rustbox --check-config
systemctl daemon-reload
echo "Installed. Review /etc/rustbox/rustbox.toml, then: systemctl enable --now rustbox"