31 lines
1.3 KiB
Bash
31 lines
1.3 KiB
Bash
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "Run as root: sudo sh deploy/systemd-install.sh" >&2
|
|
exit 1
|
|
fi
|
|
|
|
install -d -m 0755 /etc/importarr /var/lib/importarr
|
|
install -d -m 0755 /opt/importarr
|
|
REPO_DIR="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
|
|
if ! id importarr >/dev/null 2>&1; then
|
|
useradd --system --home /var/lib/importarr --shell /usr/sbin/nologin importarr
|
|
fi
|
|
chown importarr:importarr /var/lib/importarr
|
|
python3 -m venv /opt/importarr/venv
|
|
/opt/importarr/venv/bin/pip install --upgrade pip
|
|
/opt/importarr/venv/bin/pip install --upgrade --editable "$REPO_DIR"
|
|
if [ ! -f /etc/importarr/importarr.env ]; then
|
|
install -m 0600 "$REPO_DIR/deploy/importarr.env.example" /etc/importarr/importarr.env
|
|
echo "Created /etc/importarr/importarr.env; edit it before starting the service."
|
|
fi
|
|
if ! grep -q '^IMPORTARR_REPO_DIR=' /etc/importarr/importarr.env; then
|
|
printf '\nIMPORTARR_REPO_DIR=%s\n' "$REPO_DIR" >> /etc/importarr/importarr.env
|
|
fi
|
|
install -m 0644 "$REPO_DIR/deploy/importarr.service" /etc/systemd/system/importarr.service
|
|
install -m 0755 "$REPO_DIR/deploy/repo-upgrade.sh" /opt/importarr/repo-upgrade.sh
|
|
systemctl daemon-reload
|
|
systemctl enable importarr.service
|
|
echo "Edit /etc/importarr/importarr.env, then run: systemctl start importarr.service"
|