3.5 KiB
3.5 KiB
Importarr Agent Instructions
Importarr is owned as a Linux-ops-managed service repository. Treat this checkout as the source of truth for application code, deployment files, and local service installs.
Repository Source Of Truth
- Work from
/srv/opencode-workspace/importarrfor Importarr code and deploy changes. - Do not edit host-local legacy scripts as the normal workflow:
/usr/local/sbin/importarr-status.py/usr/local/sbin/manual-media-import.py
- If an emergency hotfix is made outside the repo, backport it here immediately and reinstall from the repo.
Seamless Feature Workflow
When asked to implement an Importarr feature, fix, UI change, deployment change, or operational behavior change:
- Inspect
git status --short --branchbefore editing. - Implement the smallest correct repo change.
- Run the narrowest useful verification, normally:
If shell deploy scripts changed, also run:
.venv/bin/pytest -qsh -n deploy/systemd-install.sh && sh -n deploy/repo-upgrade.sh - Inspect
git diffand ensure no secrets, raw.env, tokens, databases, or private material are included. - Commit and push completed Importarr changes by default unless the user explicitly asks not to publish or verification is blocked.
- Install/restart from the repository so the running local service matches the repo:
make upgrade-local - Verify the live service:
make verify-live - If the live install fails, inspect
systemctl status importarr.serviceandjournalctl -u importarr.service; fix the repo, commit/push the fix, reinstall, and verify again.
Install Model
- The service virtualenv lives at
/opt/importarr/venv. - The systemd unit runs
/opt/importarr/venv/bin/importarras theimportarrsystem user. - The package is installed from the repository into the venv using normal wheel/package install, not editable install.
- Do not use editable install for the system service: the unprivileged
importarruser may not be able to read/srv/opencode-workspace/importarr, causingModuleNotFoundErrorat startup. /opt/importarr/repo-upgrade.shis the pull-and-reinstall helper for machines that should follow pushedmain.
Local Commands
make test
make install-systemd
make upgrade-local
make repo-upgrade
make verify-live
make repo-upgrade is for pulling already-pushed changes with git pull --ff-only. It refuses to run with uncommitted repo changes.
Runtime Defaults On This Host
- Local URL:
http://127.0.0.1:8095/ - Health:
http://127.0.0.1:8095/health - Status:
http://127.0.0.1:8095/api/status - Systemd service:
importarr.service - Env file:
/etc/importarr/importarr.env - SQLite state:
/var/lib/importarr/importarr.db
Secret Handling
- Prefer
*_FILEsettings for secrets, for example:IMPORTARR_SAB_API_KEY_FILEIMPORTARR_AUTH_TOKEN_FILEIMPORTARR_RADARR_API_KEY_FILEIMPORTARR_SONARR_API_KEY_FILE
- Never commit real env files, API keys, tokens, private keys, service databases, or backup data.
- Template files may list variable names with placeholder values or commented examples only.
Linux Ops Follow-Through
For changes that materially alter the live service setup, ports, routes, monitoring, backup coverage, or host ownership, also follow the linux-ops documentation/systems-overview update rules. Do not mix unrelated pre-existing uncommitted changes from linux-ops-docs or systems-overview into Importarr commits.