Commit graph

12 commits

Author SHA1 Message Date
soulis-1256
0858a5a629
Drop Portainer from default stack; harden upgrade and setup UX
Remove Portainer from managed compose and catalog; leave a custom.yaml
example for optional use. Upgrade/start use compose --remove-orphans and
migration 002 removes leftover Portainer containers unless custom.yaml
keeps it. Fix setup double URL list when status is unhealthy, share
OpenSubtitles y/N on express, and tone down indexer/provider prompts.
2026-08-12 15:26:21 +03:00
soulis-1256
a72875a77a
Use synthetic titles in media-purge match self-tests.
Avoid hardcoding real movie names in fixture data; keep only abstract
prefix/year cases that exercise the matcher rules.
2026-08-12 14:29:40 +03:00
soulis-1256
c2920808eb
Harden media-purge qB matching and refresh Jellyfin on delete.
Prefer history hashes filtered by library folder key, then exact folder-key
match only (no sequel prefix hits). Refuse ambiguous multi-matches. Ignore
partial file-delete events. Best-effort Jellyfin library refresh after purge.
2026-08-12 14:26:27 +03:00
soulis-1256
7339d1b8b4
Add seerr-gateway so delete request fully purges media.
Stock Seerr only drops the request row; intercept DELETE /api/v1/request/:id
to cascade media file delete (*arr + purge hooks) before removing the request.
2026-08-12 14:06:49 +03:00
soulis-1256
c180732db1
Add media purge cascade, seed defaults, and wire on upgrade.
Hardlink-safe cleanup: Seerr/Jellyfin/*arr deletes remove library files and
qB torrents via purge hooks and media-purge-watch. Indexers get seed ratio/time
so completed downloads can leave torrents/. Upgrade always re-wires services;
drop user-facing config sync. Live e2e covers Radarr, Seerr, and Jellyfin APIs.
2026-08-12 13:19:49 +03:00
soulis-1256
22562555c9
Replace services.txt cheat-sheet with assemblrr status dashboard.
Drop writing ~/assemblrr_services.txt; status now shows live state and
localhost URLs for each service, with --docker for raw compose ps.
Health parsing is fixed under set -e; uninstall cleans legacy txt.
2026-08-11 22:55:23 +03:00
soulis-1256
b4d792f2b0
Add assemblrr upgrade engine with git/--from transport and Bazarr migration.
Introduce managed-file apply, ordered migrations, backup-first upgrade CLI,
and migration 001_add_bazarr (skip if user already defined Bazarr). Local
--from uses the same apply path as production git fetch of main.
2026-08-11 22:34:34 +03:00
soulis-1256
847e3c51c1
Add Bazarr as a first-class auto-wired subtitle service.
Ship Bazarr in the core compose stack, wire Sonarr/Radarr/Jellyfin on
config sync, apply TRaSH-style scoring, free multi-provider defaults, and
optional OpenSubtitles.com credentials from setup secrets.
2026-08-11 22:31:40 +03:00
soulis-1256
bd126b704e
Fix quality profile setup and split Recyclarr into include packs
Always sync HD/UHD (and Sonarr WEB) as include packs, name them with
an assemblrr prefix, soften blocking CF scores, zero quality minSize,
relax minimumSeeders, and update Seerr on reconfigure. Document TRaSH
guide drift and tighten comments and uninstall messaging.
2026-08-05 16:12:47 +03:00
soulis-1256
8cb601f9e7
Prepare install bind mounts before any container starts
Docker creates missing volume parents as root, which broke setup after
the early VPN test (config/ owned by root). Add prepare_install_dirs,
call it before VPN test and full compose up, and reuse it on CLI start.
2026-08-05 14:18:24 +03:00
soulis-1256
1fd188a5c4
Use .env.example as the env template and cover it with tests
Generate INSTALL_DIR/.env from .env.example via envsubst, drop
templates/envsubst.env, and add a unit test that keeps the template
keys aligned with setup. Tighten related docs and test helpers.
2026-08-05 14:01:04 +03:00
soulis-1256
3ddedb4d15
Add unit/integration tests under tests/ and clean up related docs
Move live watchdog smoke out of scripts/, drop the old ad-hoc test
scripts, and simplify uninstall + README CLI/optional-stack wording.
2026-08-05 13:43:45 +03:00