Install Importarr from repository checkout
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
IMPORTARR_SAB_URL=http://sabnzbd:8080
|
||||
IMPORTARR_SAB_API_KEY=change-me
|
||||
IMPORTARR_SAB_URL=http://127.0.0.1:8080
|
||||
# Prefer *_FILE for secrets. Plain env vars still work for local/dev installs.
|
||||
# IMPORTARR_SAB_API_KEY=change-me
|
||||
# IMPORTARR_SAB_API_KEY_FILE=/etc/importarr/sab-api-key
|
||||
IMPORTARR_SAB_CATEGORY=manual
|
||||
IMPORTARR_DOWNLOAD_ROOT=/data/downloads/manual
|
||||
IMPORTARR_MOVIES_ROOT=/data/movies
|
||||
IMPORTARR_TV_ROOT=/data/tv
|
||||
IMPORTARR_STATE_PATH=/config/importarr.db
|
||||
IMPORTARR_DOWNLOAD_ROOT=/srv/scrypted/sabnzbd-data/downloads/manual
|
||||
IMPORTARR_MOVIES_ROOT=/srv/media/movies
|
||||
IMPORTARR_TV_ROOT=/srv/media/tv
|
||||
IMPORTARR_STATE_PATH=/var/lib/importarr/importarr.db
|
||||
IMPORTARR_LOG_LEVEL=info
|
||||
IMPORTARR_AUTH_TOKEN=change-me
|
||||
# IMPORTARR_AUTH_TOKEN=change-me
|
||||
# IMPORTARR_AUTH_TOKEN_FILE=/etc/importarr/auth-token
|
||||
IMPORTARR_BIND_HOST=0.0.0.0
|
||||
IMPORTARR_BIND_PORT=8765
|
||||
IMPORTARR_BIND_PORT=8095
|
||||
IMPORTARR_POLL_SECONDS=60
|
||||
IMPORTARR_REPO_DIR=/srv/opencode-workspace/importarr
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
[Unit]
|
||||
Description=Importarr manual media importer
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/etc/importarr/importarr.env
|
||||
ExecStart=/usr/local/bin/importarr
|
||||
ExecStart=/opt/importarr/venv/bin/importarr
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
User=importarr
|
||||
Group=importarr
|
||||
StateDirectory=importarr
|
||||
ReadWritePaths=/var/lib/importarr /etc/importarr
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env sh
|
||||
set -eu
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "Run as root: sudo sh /opt/importarr/repo-upgrade.sh" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ENV_FILE=${IMPORTARR_ENV_FILE:-/etc/importarr/importarr.env}
|
||||
if [ -f "$ENV_FILE" ]; then
|
||||
# shellcheck disable=SC1090
|
||||
. "$ENV_FILE"
|
||||
fi
|
||||
|
||||
REPO_DIR=${IMPORTARR_REPO_DIR:-/srv/opencode-workspace/importarr}
|
||||
SERVICE=${IMPORTARR_SERVICE:-importarr.service}
|
||||
VENV=${IMPORTARR_VENV:-/opt/importarr/venv}
|
||||
|
||||
if [ ! -d "$REPO_DIR/.git" ]; then
|
||||
echo "Importarr repo not found at $REPO_DIR" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$REPO_DIR"
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
echo "Refusing to upgrade: $REPO_DIR has uncommitted changes." >&2
|
||||
git status --short >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git fetch --prune origin
|
||||
git pull --ff-only
|
||||
"$VENV/bin/pip" install --upgrade --editable "$REPO_DIR"
|
||||
systemctl restart "$SERVICE"
|
||||
systemctl --no-pager --full status "$SERVICE"
|
||||
@@ -7,16 +7,24 @@ if [ "$(id -u)" -ne 0 ]; then
|
||||
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 deploy/importarr.env.example /etc/importarr/importarr.env
|
||||
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
|
||||
install -m 0644 deploy/importarr.service /etc/systemd/system/importarr.service
|
||||
python3 -m pip install --upgrade .
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user