Ctrl K
ComunidadGuías…

docs/homarr-ticket-index.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Homarr ticket index

Reconciled **12 October 2026** from live GitHub issue states, PR heads/bodies/review comments and native dependency readbacks. Docs base: `42dd249a4ff348d27139d260d6e3f94c3783c3a8`. The canonical repository is still **private `ajnart/selfhost-skills`**; the intended `ajnart/selfhost` rename/visibility decision remains with the user. This note changes neither.

## Publication provenance

Publication was approved on **11 October 2026**: Immich #262 was the first of 39, followed by **38 unique peer tickets**, labelled `enhancement` and `ready-for-agent`, all immediately linked to parent session `ses_ed44864b8ffe2PmxGEkS22SDwz`. Original readback verified exact bodies, 38 unique App IDs/issues, no duplicate peer titles and 38 native dependencies on #262; no body-only fallback was needed. Those issue/App mappings are retained below. Issue titles follow “Homarr: complete <App> Setup, credentials and verified widgets”.

The [11 October research](homarr-integration-coverage-research.md) is a historical `5aafb4c1833fd4cd9caf0f7beaac31e625aafe22` snapshot. Its missing-39 inventory explains publication, not today's source status. Both original untracked notes and original `.gitignore`/`.ignore` edits are preserved in their original checkout; this docs-only lane copies/reconciles only these two note paths.

## Source status versus native acceptance

**39 App source slices now exist: one merged reference and 38 open draft PRs. Only 1/39 has accepted bounded native evidence.** Source compilation, fake tests, prerequisite-only App proofs, registration or a source-review PASS do not establish real Homarr/rendered/lifecycle acceptance.

- **Immich:** #262 closed; [#309](https://github.com/ajnart/selfhost-skills/pull/309) merged at frozen main `6b82c55fb890c11a1388bd4e5a2f10b632ff4f7c`, evidence head `33e7fbccb7541d2bbf1d81968eb21c35a1b5bfd7`, unchanged production `89301aff17c86b767f5a45076881f2bb7b41db39`. [Final bounded proof](homarr-immich-proof.md#final-bounded-attempt): authenticated Users 1 / Photos 0 / Videos 0 / Storage 0, genuine refresh, rendered data, preservation and owned cleanup. This is empty-library acceptance only; populated media, cross-kind survivor data, Manual key recovery, LAN, migration/restore and actual refresh contention remain outside it. Historical pending-review prose in the proof/contract predates the merged decision.
- **Final-normalized source PASS:** Gatus #321 at `b8ab54070762845e7720e7c16322a6611dc82eaa`, Caddy #315 at `259033989ef44589658a3adbc3c4505175d41ae0`, Prometheus #336 at `2231ee7542a1fe6082ec8f0a568ebb2ffa2dd17b`. Their own PR branches register the leaf and reuse frozen freshness helpers; both independent source axes and reported full local gates pass. All three remain draft, their issues open, with native/rendered/cross-kind/full-lifecycle acceptance held. They are not merged registry coverage on main.
- **Initial source PASS only:** Gotify #325 at `384111f936710bf75cb18707b8d64274772903d7` and Speedtest Tracker #351 at `29659099e33da9bead3aad2414f8f3965efafc27` have both independent source axes passing. Custodian normalization/registration and final normalized-head review remain pending, as does native acceptance.
- **Other 33 peers:** source drafts, not reviewed/accepted as complete native slices. Individual prerequisite evidence and limitations remain attributed to each PR; neither a common baseline nor final normalization/registration of all 39 is claimed. Each live PR head is recorded below.

The proof's Homarr OCI source `3d4150e59f600876b7e308f857b2f21572b75348`, OCI version `main`, authenticated API `2.4.1` and tagged research source `ebbd4876d25a51151444a009ab596e1154d62880` are distinct. The reference's 22-file comparison is scoped, not all-peer equivalence. Follow the [frozen contract](homarr-integration-contract.md) and [merged workflow](agents/homarr-integrations.md); reuse the seam and containment, not Immich's acceptance result.

## Native dependencies and common holds

Live readback retains **all 38 native edges to closed #262**. Its completion satisfies that dependency, but does not close peers or authorize runtime; no edge was removed. Additional open native blockers are [Gluetun #332](https://github.com/ajnart/selfhost-skills/issues/332) for #279 and [PatchMon #350](https://github.com/ajnart/selfhost-skills/issues/350) for #291. Triage readiness labels are not approval.

Every remaining peer needs its own exact-version/image/source contract, final independently reviewed normalized/registered head, approved bounded disposable Project, useful authenticated native and rendered data, both installation orders/late-peer recovery, restart/credential handling and user-safe shared-resource/remove/reinstall lifecycle. Provider/account actions, hardware, outbound discovery, bandwidth-heavy jobs and public Access require their own explicit scope/approval. No broad teardown, socket/host privilege, private-file access or fabricated missing/zero values is permitted. These are holds, not new runtime authorization.

## App source slices

All issue and PR links below were checked live. Heads are the first 12 characters of each returned full SHA. **D** = source draft, not independently accepted; **I** = initial source axes PASS, normalization held; **F** = final-normalized registered source axes/full gate PASS on that PR branch; **R** = merged reference, bounded empty-library acceptance. Every non-R PR is open/draft, every non-R issue open, and native acceptance held. The final column records additional App-specific limits, not an exhaustive substitute for the common holds.

| App / Catalog ID                             | Issue / state                                                       | PR                                                                | Head           | Source | Native hold / App-specific prerequisite                                                                                                                        |
| -------------------------------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------- | -------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AdGuard Home / `adguard-home`                | [#266](https://github.com/ajnart/selfhost-skills/issues/266) open   | [#311](https://github.com/ajnart/selfhost-skills/pull/311)        | `2695a07bb65c` | D      | App-only prerequisite proof; native percentage correctness and full Homarr lifecycle held                                                                      |
| ArchiveTeam Warrior / `archive-team-warrior` | [#267](https://github.com/ajnart/selfhost-skills/issues/267) open   | [#323](https://github.com/ajnart/selfhost-skills/pull/323)        | `35979a24463f` | D      | Idle startup can contact HQ; approved outbound scope or verified inert fail-closed bootstrap required                                                          |
| Aria2 / `aria2`                              | [#269](https://github.com/ajnart/selfhost-skills/issues/269) open   | [#317](https://github.com/ajnart/selfhost-skills/pull/317)        | `e89556fc953d` | D      | RPC/download prerequisite proof only; native/rendered/full lifecycle held                                                                                      |
| Audiobookshelf / `audiobookshelf`            | [#270](https://github.com/ajnart/selfhost-skills/issues/270) open   | [#310](https://github.com/ajnart/selfhost-skills/pull/310)        | `5b9e0c09abc9` | D      | Token is not fully read-only; owned audio/native rendering and lifecycle held                                                                                  |
| Bazarr / `bazarr`                            | [#272](https://github.com/ajnart/selfhost-skills/issues/272) open   | [#320](https://github.com/ajnart/selfhost-skills/pull/320)        | `f77554ea9845` | D      | Media/subtitle prerequisites and native lifecycle held; no provider success inferred                                                                           |
| Caddy / `caddy`                              | [#273](https://github.com/ajnart/selfhost-skills/issues/273) open   | [#315](https://github.com/ajnart/selfhost-skills/pull/315)        | `259033989ef4` | F      | Registered/source-only; real production-Link/rendered/both-order/cross-kind lifecycle held                                                                     |
| Dash. / `dashdot`                            | [#274](https://github.com/ajnart/selfhost-skills/issues/274) open   | [#319](https://github.com/ajnart/selfhost-skills/pull/319)        | `e0577f082b8b` | D      | CPU/RAM slice only; unavailable hardware is not zero or permission for new privileges                                                                          |
| Deluge / `deluge`                            | [#275](https://github.com/ajnart/selfhost-skills/issues/275) open   | [#324](https://github.com/ajnart/selfhost-skills/pull/324)        | `1fad001d2d69` | D      | Ambiguous daemon connection remains Manual; owned download/native lifecycle held                                                                               |
| Emby / `emby`                                | [#276](https://github.com/ajnart/selfhost-skills/issues/276) open   | [#322](https://github.com/ajnart/selfhost-skills/pull/322)        | `eed53d89603f` | D      | First-owner wizard Manual; real key inventory, media/playback and native lifecycle held                                                                        |
| Frigate / `frigate`                          | [#277](https://github.com/ajnart/selfhost-skills/issues/277) open   | [#331](https://github.com/ajnart/selfhost-skills/pull/331)        | `0d06cdf51334` | D      | Trusted HTTPS prerequisite; authenticated HTTP starter remains Manual before mutation; no footage/hardware proof                                               |
| Gatus / `gatus`                              | [#280](https://github.com/ajnart/selfhost-skills/issues/280) open   | [#321](https://github.com/ajnart/selfhost-skills/pull/321)        | `b8ab54070762` | F      | Registered/source-only; real native/rendered/local provenance/both-order/cross-kind lifecycle held                                                             |
| Glances / `glances`                          | [#281](https://github.com/ajnart/selfhost-skills/issues/281) open   | [#326](https://github.com/ajnart/selfhost-skills/pull/326)        | `e68ea343cca6` | D      | Native empty-credential contract cannot justify disabling existing authentication; Manual boundary                                                             |
| Gluetun / `gluetun`                          | [#279](https://github.com/ajnart/selfhost-skills/issues/279) open   | [#327](https://github.com/ajnart/selfhost-skills/pull/327)        | `7d70c832c426` | D      | Native blocker [#332](https://github.com/ajnart/selfhost-skills/issues/332) open; secret-bearing settings read denied; provider/tunnel scope held              |
| Gotify / `gotify`                            | [#282](https://github.com/ajnart/selfhost-skills/issues/282) open   | [#325](https://github.com/ajnart/selfhost-skills/pull/325)        | `384111f93671` | I      | Normalization/registration held; actual scoped account/message/native/rendered/lifecycle proof pending                                                         |
| Home Assistant / `home-assistant`            | [#285](https://github.com/ajnart/selfhost-skills/issues/285) open   | [#333](https://github.com/ajnart/selfhost-skills/pull/333)        | `2ea747b1ee94` | D      | Owner/MFA/token/entity Manual gates; no real-device automation or guessed entity acceptance                                                                    |
| Immich / `immich`                            | [#262](https://github.com/ajnart/selfhost-skills/issues/262) closed | [#309](https://github.com/ajnart/selfhost-skills/pull/309) merged | `33e7fbccb754` | R      | Accepted 1/39 empty-library reference only; populated media/cross-kind and listed limits remain                                                                |
| Lidarr / `lidarr`                            | [#283](https://github.com/ajnart/selfhost-skills/issues/283) open   | [#318](https://github.com/ajnart/selfhost-skills/pull/318)        | `adc9bbac83d7` | D      | Calendar/music data and native lifecycle held; no external download approval                                                                                   |
| Linkwarden / `linkwarden`                    | [#286](https://github.com/ajnart/selfhost-skills/issues/286) open   | [#328](https://github.com/ajnart/selfhost-skills/pull/328)        | `da21eda483dc` | D      | Token retains administrator write authority; private bookmark/native lifecycle proof held                                                                      |
| Navidrome / `navidrome`                      | [#284](https://github.com/ajnart/selfhost-skills/issues/284) open   | [#330](https://github.com/ajnart/selfhost-skills/pull/330)        | `711336d08e23` | D      | Shared Admin scope/query-secret transport limits; owned audio/listening/native lifecycle held                                                                  |
| Netdata / `netdata`                          | [#287](https://github.com/ajnart/selfhost-skills/issues/287) open   | [#329](https://github.com/ajnart/selfhost-skills/pull/329)        | `fb792342c998` | D      | Real available collector/native data and lifecycle held; no Cloud/hardware success inferred                                                                    |
| Nextcloud / `nextcloud`                      | [#288](https://github.com/ajnart/selfhost-skills/issues/288) open   | [#340](https://github.com/ajnart/selfhost-skills/pull/340)        | `2c10a64ecd3c` | D      | Broad administrator app-password/2FA tradeoff; real calendar/notification/lifecycle held                                                                       |
| NZBGet / `nzbget`                            | [#290](https://github.com/ajnart/selfhost-skills/issues/290) open   | [#335](https://github.com/ajnart/selfhost-skills/pull/335)        | `9b1ca9dd5e42` | D      | Restricted login is not read-only; provider/native/credential-path redaction/lifecycle held                                                                    |
| Paperless-ngx / `paperless-ngx`              | [#289](https://github.com/ajnart/selfhost-skills/issues/289) open   | [#312](https://github.com/ajnart/selfhost-skills/pull/312)        | `19f502a18162` | D      | App credential prerequisite proof only; native widget, ingestion/OCR and lifecycle not accepted                                                                |
| PatchMon / `patchmon`                        | [#291](https://github.com/ajnart/selfhost-skills/issues/291) open   | [#345](https://github.com/ajnart/selfhost-skills/pull/345)        | `05f68f3bd937` | D      | Native blocker [#350](https://github.com/ajnart/selfhost-skills/issues/350) open; statistics credentials also authorize enrollment; issuance/registration held |
| PeaNUT / `peanut`                            | [#293](https://github.com/ajnart/selfhost-skills/issues/293) open   | [#347](https://github.com/ajnart/selfhost-skills/pull/347)        | `fc5583b0f5b4` | D      | NUT/UPS readings Manual; dummy API data is not physical hardware-health proof                                                                                  |
| Pi-hole / `pihole`                           | [#292](https://github.com/ajnart/selfhost-skills/issues/292) open   | [#339](https://github.com/ajnart/selfhost-skills/pull/339)        | `64be8d4ba38f` | D      | v6 application-password/2FA scope gates; container-local DNS/native lifecycle held; no controls                                                                |
| Plex / `plex`                                | [#294](https://github.com/ajnart/selfhost-skills/issues/294) open   | [#348](https://github.com/ajnart/selfhost-skills/pull/348)        | `8db89ddd5057` | D      | Account ownership/server-ID Manual gate; administrator token, media/playback/native lifecycle held                                                             |
| Prometheus / `prometheus`                    | [#299](https://github.com/ajnart/selfhost-skills/issues/299) open   | [#336](https://github.com/ajnart/selfhost-skills/pull/336)        | `2231ee7542a1` | F      | Registered/source-only; native/rendered/Basic-mode/both-order/cross-kind lifecycle held                                                                        |
| SABnzbd / `sabnzbd`                          | [#298](https://github.com/ajnart/selfhost-skills/issues/298) open   | [#334](https://github.com/ajnart/selfhost-skills/pull/334)        | `e36393354522` | D      | Full API key/provider Manual gate; no Usenet transfer or native lifecycle acceptance                                                                           |
| Slskd / `slskd`                              | [#297](https://github.com/ajnart/selfhost-skills/issues/297) open   | [#342](https://github.com/ajnart/selfhost-skills/pull/342)        | `2cf210a6700b` | D      | Soulseek login Manual; effective ReadOnly role/write denial and native lifecycle unproved                                                                      |
| Speedtest Tracker / `speedtest-tracker`      | [#296](https://github.com/ajnart/selfhost-skills/issues/296) open   | [#351](https://github.com/ajnart/selfhost-skills/pull/351)        | `29659099e33d` | I      | Normalization/registration held; actual token/rootless/rendered proof and separate lawful measurement/bandwidth approval pending                               |
| Tdarr / `tdarr`                              | [#301](https://github.com/ajnart/selfhost-skills/issues/301) open   | [#349](https://github.com/ajnart/selfhost-skills/pull/349)        | `21d3624b8641` | D      | Global key/node Manual gates; worker/media/license/GPU/transcoding and native lifecycle held                                                                   |
| Technitium DNS / `technitium-dns`            | [#303](https://github.com/ajnart/selfhost-skills/issues/303) open   | [#338](https://github.com/ajnart/selfhost-skills/pull/338)        | `aafb8c4e71cc` | D      | Effective account permissions/LastHour semantics and native lifecycle held; no resolver/zone/control actions                                                   |
| Tracearr / `tracearr`                        | [#302](https://github.com/ajnart/selfhost-skills/issues/302) open   | [#346](https://github.com/ajnart/selfhost-skills/pull/346)        | `ab4ac17a94c0` | D      | Owner key can terminate streams; owned online media-server prerequisite and native lifecycle held                                                              |
| Traefik / `traefik`                          | [#304](https://github.com/ajnart/selfhost-skills/issues/304) open   | [#352](https://github.com/ajnart/selfhost-skills/pull/352)        | `3ecd50a43461` | D      | Existing protected BasicAuth/API only; pagination/central freshness and native lifecycle held                                                                  |
| Transmission / `transmission`                | [#305](https://github.com/ajnart/selfhost-skills/issues/305) open   | [#337](https://github.com/ajnart/selfhost-skills/pull/337)        | `982d334be041` | D      | Full-control RPC login; harmless owned fixture/native lifecycle held; no whitelist/auth weakening                                                              |
| Umami / `umami`                              | [#308](https://github.com/ajnart/selfhost-skills/issues/308) open   | [#344](https://github.com/ajnart/selfhost-skills/pull/344)        | `b6fe06345f84` | D      | View-only role still owns website writes; real chart/controlled visits/lifecycle held; no shared Stats provider                                                |
| Uptime Kuma / `uptime-kuma`                  | [#307](https://github.com/ajnart/selfhost-skills/issues/307) open   | [#341](https://github.com/ajnart/selfhost-skills/pull/341)        | `980e9c8730a1` | D      | Explicit existing status-page slug; admin/key modes Manual, no private-page/publication inference                                                              |
| What's Up Docker / `wud`                     | [#306](https://github.com/ajnart/selfhost-skills/issues/306) open   | [#343](https://github.com/ajnart/selfhost-skills/pull/343)        | `00d57bf66104` | D      | Scoped discovery endpoint and registry-outbound approval required; labels are not Project-only authority; inert inventory not real monitoring                  |

## Related work

| Reference                                                    | Live state / merged PR                                                    | Scope, not native acceptance                                                                                                   |
| ------------------------------------------------------------ | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| [#263](https://github.com/ajnart/selfhost-skills/issues/263) | Closed; [#314](https://github.com/ajnart/selfhost-skills/pull/314) merged | [41-kind external coverage plan](homarr-external-coverage-plan.md) only; no external installation or appliance/feed acceptance |
| [#264](https://github.com/ajnart/selfhost-skills/issues/264) | Closed; [#316](https://github.com/ajnart/selfhost-skills/pull/316) merged | Dashboard/Pre-boot entrance motion, not Homarr native coverage                                                                 |
| [#265](https://github.com/ajnart/selfhost-skills/pull/265)   | Merged                                                                    | Absent-peer Link scheduling; not peer widget acceptance                                                                        |
| [#278](https://github.com/ajnart/selfhost-skills/pull/278)   | Merged at `42dd249a4ff348d27139d260d6e3f94c3783c3a8`                      | Frozen [agent workflow](agents/homarr-integrations.md), docs-only; grants no runtime approval                                  |

## Recorded review evidence

- [Immich final reference reviews](https://github.com/ajnart/selfhost-skills/pull/309#issuecomment-6115380864), then merged #309 / closed #262.
- Final-normalized source reviews: [Caddy](https://github.com/ajnart/selfhost-skills/pull/315#issuecomment-6115733170), [Gatus](https://github.com/ajnart/selfhost-skills/pull/321#issuecomment-6115733184), [Prometheus](https://github.com/ajnart/selfhost-skills/pull/336#issuecomment-6115733177).
- Initial source reviews, not final assembly/native approval: [Gotify](https://github.com/ajnart/selfhost-skills/pull/325#issuecomment-6115787860), [Speedtest Tracker](https://github.com/ajnart/selfhost-skills/pull/351#issuecomment-6114247126).

This reconciliation is docs/source/metadata-only, pending fresh parent-owned Standards **and** Spec review of its own exact PR head. It creates/closes no issue, removes no dependency, edits no registry/agent guide/parent ledger and launches no runtime, browser, provider, hardware, installer or paid operation.