Install Importarr services from repo on dgsserver1
This commit is contained in:
@@ -1,16 +1,15 @@
|
||||
[Unit]
|
||||
Description=Importarr manual media importer
|
||||
Description=Importarr manual media importer status UI
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/importarr/importarr.env
|
||||
ExecStart=/opt/importarr/venv/bin/importarr
|
||||
EnvironmentFile=-/etc/importarr/importarr.env
|
||||
EnvironmentFile=-/opt/importarr/build.env
|
||||
ExecStart=/opt/importarr/venv/bin/importarr-status
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
User=importarr
|
||||
Group=importarr
|
||||
StateDirectory=importarr
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
[Unit]
|
||||
Description=Critical alert when manual media importer fails
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/python3 /usr/local/sbin/ha-critical-notify.py service-recovery "manual-media-import.service failed" --host dgsserver1 --resource manual-media-import --details "Check journalctl -u manual-media-import.service and /var/log/manual-media-import.log"
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Import manual SABnzbd media into Jellyfin library roots
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
OnFailure=manual-media-import-failure.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
EnvironmentFile=-/etc/importarr/importarr.env
|
||||
EnvironmentFile=-/opt/importarr/build.env
|
||||
ExecStart=/opt/importarr/venv/bin/manual-media-import
|
||||
TimeoutStartSec=30min
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Run manual media importer periodically
|
||||
|
||||
[Timer]
|
||||
OnBootSec=5min
|
||||
OnUnitActiveSec=15min
|
||||
AccuracySec=1min
|
||||
Persistent=true
|
||||
Unit=manual-media-import.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
@@ -31,5 +31,12 @@ fi
|
||||
git fetch --prune origin
|
||||
git pull --ff-only
|
||||
"$VENV/bin/pip" install --upgrade "$REPO_DIR"
|
||||
GIT_SHA="$(git rev-parse --short=12 HEAD 2>/dev/null || printf development)"
|
||||
BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
cat > /opt/importarr/build.env <<EOF
|
||||
IMPORTARR_GIT_SHA=$GIT_SHA
|
||||
IMPORTARR_BUILD_DATE=$BUILD_DATE
|
||||
EOF
|
||||
systemctl restart "$SERVICE"
|
||||
systemctl restart manual-media-import.timer
|
||||
systemctl --no-pager --full status "$SERVICE"
|
||||
|
||||
@@ -6,13 +6,9 @@ if [ "$(id -u)" -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
install -d -m 0755 /etc/importarr /var/lib/importarr
|
||||
install -d -m 0755 /etc/importarr /var/lib/importarr /run/manual-media-import
|
||||
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 "$REPO_DIR"
|
||||
@@ -24,7 +20,19 @@ 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 0644 "$REPO_DIR/deploy/manual-media-import.service" /etc/systemd/system/manual-media-import.service
|
||||
install -m 0644 "$REPO_DIR/deploy/manual-media-import.timer" /etc/systemd/system/manual-media-import.timer
|
||||
install -m 0644 "$REPO_DIR/deploy/manual-media-import-failure.service" /etc/systemd/system/manual-media-import-failure.service
|
||||
install -m 0755 "$REPO_DIR/deploy/repo-upgrade.sh" /opt/importarr/repo-upgrade.sh
|
||||
GIT_SHA="$(git -C "$REPO_DIR" rev-parse --short=12 HEAD 2>/dev/null || printf development)"
|
||||
BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
cat > /opt/importarr/build.env <<EOF
|
||||
IMPORTARR_GIT_SHA=$GIT_SHA
|
||||
IMPORTARR_BUILD_DATE=$BUILD_DATE
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl enable importarr.service
|
||||
echo "Edit /etc/importarr/importarr.env, then run: systemctl start importarr.service"
|
||||
systemctl enable manual-media-import.timer
|
||||
systemctl restart importarr.service
|
||||
systemctl start manual-media-import.timer
|
||||
echo "Importarr installed from $REPO_DIR. Future upgrades: sudo -n sh /opt/importarr/repo-upgrade.sh"
|
||||
|
||||
Reference in New Issue
Block a user