1a37032f99
gates / gates (push) Successful in 2s
STEP sonarr: the superseded step {'sonarr': 'lscr.io/linuxserver/sonarr:4.0.20'} keeps its definition at steps/bf0bfeab9db53720.yml
STEP sonarr: … and its .felhom.yml at steps/bf0bfeab9db53720.felhom.yml
WROTE sonarr: RE-TEST {'sonarr': 'lscr.io/linuxserver/sonarr:4.0.20'} -> {'sonarr': 'lscr.io/linuxserver/sonarr:4.0.20'} peak 13.9% marks {'files_may_change': False, 'needs_person': None, 'memory_tight': False} digest {'sonarr': 'sha256:a5c1a5fecbef946927ab90ad68df319ac5fe644057e5fc18cd993f01ac07b2b2'} -> {'sonarr': 'sha256:f247545d23ba8b233d6604575347e48a623fe6ad75dda02348bf81917f3b5c06'}
Evidence: felhom.eu/documentation/audits/retest-2026-10/sonarr
133 lines
6.2 KiB
YAML
133 lines
6.2 KiB
YAML
# =============================================================================
|
|
# .felhom.yml - App metadata for felhom-controller
|
|
# =============================================================================
|
|
|
|
# --- Display info (shown on dashboard) ---
|
|
display_name: "Sonarr"
|
|
description: "Automatikus sorozat letöltő és rendszerező"
|
|
category: "media-automation"
|
|
subdomain: "sonarr"
|
|
slug: "sonarr"
|
|
# catalog_since: the date THIS repo last changed this app's pinned images. Any commit that
|
|
# changes an image: line must set this to the same day (see CLAUDE.md).
|
|
catalog_since: "2026-10-01"
|
|
|
|
# --- Resource hints (displayed on deploy screen) ---
|
|
resources:
|
|
mem_request: "150M"
|
|
mem_limit: "512M"
|
|
pi_compatible: true
|
|
needs_hdd: true
|
|
|
|
# --- Backup classification (referential coupling; see felhom.eu documentation/audits/SPIKE-backup-classification-2026-07-14.md) ---
|
|
backup:
|
|
userdata:
|
|
- path: media/tv
|
|
class: excluded
|
|
- path: downloads
|
|
class: excluded
|
|
|
|
# --- Deploy fields (first deployment only) ---
|
|
deploy_fields:
|
|
- env_var: DOMAIN
|
|
label: "Domain"
|
|
type: domain
|
|
description: "A szerver domain neve"
|
|
locked_after_deploy: true
|
|
|
|
- env_var: SUBDOMAIN
|
|
label: "Aldomain"
|
|
type: subdomain
|
|
default: "sonarr"
|
|
required: true
|
|
locked_after_deploy: true
|
|
description: "Az alkalmazás aldomainje"
|
|
|
|
- env_var: HDD_PATH
|
|
label: "Médiatár útvonal"
|
|
type: path
|
|
required: true
|
|
placeholder: "/mnt/felhom-drives/hdd_1"
|
|
description: "A külső merevlemez elérési útja"
|
|
locked_after_deploy: true
|
|
|
|
# --- The setup gate (controller >= 0.281.0, `09` §3 decisions 46-47) ---
|
|
# The first visitor would create the admin; a fresh install is closed to everyone but the household until the first setup is done.
|
|
setup_gate: true
|
|
|
|
# --- App info (info page content) ---
|
|
app_info:
|
|
tagline: "Automatikus sorozat letöltő és rendszerező"
|
|
docs_url: "https://wiki.servarr.com/sonarr"
|
|
|
|
use_cases:
|
|
- 'Sorozatok automatikus letöltése és rendszerezése'
|
|
- 'Kívánságlista kezelés - új epizódok automatikus letöltése'
|
|
- 'Minőség kezelés (480p-tól 4K-ig, automatikus frissítés)'
|
|
- 'Integráció Jellyfin/Plex és letöltő kliensekkel'
|
|
- 'Felirat automatikus letöltés'
|
|
|
|
first_steps:
|
|
- 'Nyisd meg a sonarr.DOMAIN címet a böngészőben'
|
|
- 'Állíts be egy letöltő klienst (pl. qBittorrent)'
|
|
- 'Add hozzá az indexereket (vagy használj Prowlarr-t)'
|
|
- 'Állítsd be a gyökérmappát (/media/shows)'
|
|
- 'Keress rá egy sorozatra és add hozzá a listádhoz'
|
|
|
|
prerequisites:
|
|
- 'Külső HDD szükséges a médiafájlok tárolásához'
|
|
- 'Letöltő kliens szükséges (pl. qBittorrent - külön telepítendő)'
|
|
- 'Indexer hozzáférés szükséges a kereséshez'
|
|
|
|
# --- Controller-side health probe ---
|
|
healthcheck:
|
|
checks:
|
|
- type: api
|
|
port: 8989
|
|
path: "/ping"
|
|
expect:
|
|
status: 200
|
|
|
|
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
|
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
|
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
|
i18n:
|
|
en:
|
|
description: 'Series download and file themselves'
|
|
app_info:
|
|
tagline: 'Series download and file themselves'
|
|
use_cases:
|
|
- 'Series are downloaded and filed on their own'
|
|
- 'A wish list - new episodes arrive as they appear'
|
|
- 'Quality rules (480p to 4K, with an upgrade when a better copy shows up)'
|
|
- 'Works with Jellyfin/Plex and with download clients'
|
|
- 'Subtitles are fetched on their own'
|
|
first_steps:
|
|
- 'Open sonarr.DOMAIN in your browser'
|
|
- 'Set up a download client (qBittorrent, for example)'
|
|
- 'Add your indexers (or use Prowlarr)'
|
|
- 'Set the root folder (/media/shows)'
|
|
- 'Search for a series and add it to your list'
|
|
prerequisites:
|
|
- 'An external hard drive is needed to keep the media files on'
|
|
- 'A download client is needed (qBittorrent, for example - installed separately)'
|
|
- 'Access to an indexer is needed for searching'
|
|
deploy_fields:
|
|
- env_var: DOMAIN
|
|
label: 'Domain'
|
|
description: 'The server domain name'
|
|
- env_var: SUBDOMAIN
|
|
label: 'Subdomain'
|
|
description: 'The subdomain this app answers on'
|
|
- env_var: HDD_PATH
|
|
label: 'Media library path'
|
|
description: 'The path to the external hard drive'
|
|
placeholder: '/mnt/felhom-drives/hdd_1'
|
|
|
|
# update_ladder — the test record: one tested step per line, oldest first (JSON flow mappings,
|
|
# `09-update-architecture.md` §6.4 part 4). WRITTEN BY scripts/upgrade-test.py, never by hand;
|
|
# gated by scripts/check-test-record.py. An image: move without a proven entry here is refused.
|
|
update_ladder:
|
|
- {"from": {"sonarr": "lscr.io/linuxserver/sonarr:4.0.19"}, "to": {"sonarr": "lscr.io/linuxserver/sonarr:4.0.20"}, "digest": {"sonarr": "sha256:a5c1a5fecbef946927ab90ad68df319ac5fe644057e5fc18cd993f01ac07b2b2"}, "verdict": "proven", "tested_at": "2026-09-22T11:58:13.323688+00:00", "harness_version": 1, "evidence": "felhom.eu/documentation/audits/the-28-2026-09-22/apps/sonarr/verdict.json", "memory_peak_pct": null, "marks": {"files_may_change": false, "needs_person": null, "memory_tight": false}, "backfilled": "2026-09-23", "note": "backfilled from catalog commit 0b283d2; box walk only (harness v1, no memory watch); digest = what the registry served on 2026-09-23, not a measurement of the tested image"}
|
|
- {"from": {"sonarr": "lscr.io/linuxserver/sonarr:4.0.20"}, "to": {"sonarr": "lscr.io/linuxserver/sonarr:4.0.20"}, "digest": {"sonarr": "sha256:f247545d23ba8b233d6604575347e48a623fe6ad75dda02348bf81917f3b5c06"}, "verdict": "proven", "tested_at": "2026-10-01T05:50:14Z", "harness_version": 4, "evidence": "felhom.eu/documentation/audits/retest-2026-10/sonarr/bench", "box_evidence": "felhom.eu/documentation/audits/retest-2026-10/sonarr/box", "memory_peak_pct": 13.9, "marks": {"files_may_change": false, "needs_person": null, "memory_tight": false}, "memory_basis": "anon", "memory_cgroup_peak_pct": 16.8, "digest_from": {"sonarr": "sha256:a5c1a5fecbef946927ab90ad68df319ac5fe644057e5fc18cd993f01ac07b2b2"}}
|