Skip to content

Add Cantinarr - #5998

Open
windoze95 wants to merge 25 commits into
getumbrel:masterfrom
windoze95:add-cantinarr
Open

windoze95 wants to merge 25 commits into
getumbrel:masterfrom
windoze95:add-cantinarr

Conversation

@windoze95

@windoze95 windoze95 commented Aug 17, 2026 •

Copy link
Copy Markdown

Type

New app

App

App ID: cantinarr
Upstream project: https://github.com/windoze95/cantinarr
Version: 0.18.0
Upstream release: https://github.com/windoze95/cantinarr/releases/tag/v0.18.0

Summary

Adds Cantinarr, a self-hosted media-stack manager I develop: household members browse and request movies, TV, books, and music from the web app or companion iPhone and Android apps, with push notifications. Admins get Radarr, Sonarr, Chaptarr, and Lidarr control down to the individual episode, grouped live download queues, Tautulli and Tracearr monitoring, read-only Tdarr activity and library progress, Plex invites, plain-language diagnosis and fixes for stuck downloads, and an MCP server usable by any MCP client. It is one container with one web port and all state under ${APP_DATA_DIR}/data/config.

Verification

This revision updates the unmerged submission from 0.17.0 to 0.18.0. It adds saved library sorting, Discord lifecycle notifications and opt-in mentions, sharper posters, and an assistant welcome that reflects enabled services and permissions. The package changes only its manifest version and image pin. Ports, environment variables, authentication, persistence paths, and compatibility floors are unchanged. The server migrates existing Discord delivery receipts on startup; new event categories and personal mentions remain opt-in.

npm run lint:apps -- cantinarr --check-images and git diff --check pass with no issues. Lint apps passed on 0c89415ac9f19e0c3e05777c1e5eb2461a0d5334. Anonymous registry reads confirm that public 0.18.0, 0.18, and latest resolve to the tested multi-architecture index sha256:121db6ef452b501b9c7bb4d77385217dd8a9c338d2728fd7d160110fca71655d, containing linux/amd64 and linux/arm64 images from source 02f8f93f3b7c89e40f5fa246a2b11e713a08fa18.

Main CI, release-branch CI, candidate build and runtime checks, stable promotion, and Linux bundle publication passed. Both downloaded Linux archives passed SHA-256 checks. The release archives the matching build receipt and verification record.

On Docker Desktop on an ARM64 Mac, the published ARM64 image passed natively and the published AMD64 image passed under emulation. Both passed fresh setup, authenticated version checks, embedded web assets, bundled runtime/license checks, and upgrades from independent copies of a populated synthetic 0.17.0 configuration. Accounts, existing sessions and refreshes, encrypted credentials, a library grant/default, saved requests, Discord receipts and settings, and the encryption key survived upgrade and restart. SQLite integrity and foreign keys passed. Restoring the pre-upgrade backup recovered 0.17.0 sessions, credentials, settings, and history.

These are container checks, not Umbrel lifecycle verification. No configured Umbrel environment was available; installation, update, and opening through Umbrel were not tested. Physical phone pairing/passkeys/push, live Discord delivery, a separate physical AMD64 host, and oldest-supported or production-scale database upgrades were not tested. Full limits are recorded with the release. releaseNotes remains empty while this initial listing is unmerged.

Umbrel environment tested:

  • Umbrel device
  • Local umbrelOS test environment
  • Not runtime tested

Architecture tested through Umbrel:

  • amd64
  • arm64

Known lint warnings: none.

Notes

  • PROXY_AUTH_ADD: "false": Cantinarr is multi-user with its own authentication. The admin sends household members connect links for passwordless device sessions, and the companion apps use REST and WebSocket connections to this server. Neither flow can carry Umbrel authentication cookies, and Umbrel's wall would break onboarding for non-owner household members.
  • CANTINARR_ARR_CALLBACK_URL is preset to http://cantinarr_server_1:8585 so Radarr and Sonarr containers on the same Umbrel can send webhooks back for instant library updates.
  • CANTINARR_PUSH_GATEWAY_URL defaults to the project's push gateway for zero-configuration enrollment with no account. Users can clear it to disable push or point it at a self-hosted gateway.
  • There are no default credentials. First run opens Cantinarr's own setup, and sign-in is passwordless by default with passwords and passkeys available.

Assets for the gallery team:

Upstream renamed CANTINARR_PUBLIC_URL to CANTINARR_ARR_CALLBACK_URL
(the old name stays accepted); the baked webhook-callback origin
follows the rename.
Pins the 0.4.0 multi-arch index digest. Adds in-app Sign out and a
"Switch Server" prompt when a connect link is opened while signed in.
The relay's canonical address moved. The old push.julian.codes still
answers from the same gateway and current Cantinarr images rewrite it to
the new name at start, so existing installs are unaffected; only the
default a new install is offered changes.
Pins the 0.9.0 multi-arch image by its index digest, as the store
requires. releaseNotes stays empty while the listing PR is unmerged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant