Skip to content

Detect Umbrel ntfy and offer it as a built-in ntfy target #255

@schjonhaug

Description

@schjonhaug

Summary

Umbrel self-hosted Canary currently treats ntfy as fully manual: users type an ntfy server URL in Settings and optionally configure auth.

We should use the same Umbrel app-detection pattern as the explorer work so Canary can detect when Umbrel ntfy is installed and offer it as a built-in choice in Settings.

Current behavior

Requested support

When Umbrel ntfy is installed, Canary should detect it and let the user choose it in self-hosted Settings instead of making them manually type the internal Docker hostname.

Expected Umbrel ntfy configuration:

  • ntfy URL: http://ntfy_app_1
  • Auth: access token created in the user’s Umbrel ntfy instance

The resulting UX should make it easy to choose between:

  • public https://ntfy.sh
  • local Umbrel ntfy (http://ntfy_app_1)
  • optionally, a manual custom URL for advanced users running some other ntfy instance

Product behavior

In self-hosted Umbrel settings:

  • If Umbrel ntfy is not detected, keep current manual behavior
  • If Umbrel ntfy is detected, show it as a selectable option
  • Selecting Umbrel ntfy should use http://ntfy_app_1 as the effective backend target
  • The user should still provide an ntfy access token from their Umbrel ntfy instance
  • Test Notification should verify the selected ntfy target and token work end-to-end

Implementation notes

  • Umbrel packaging:
    • Extend umbrel-apps/canary/exports.sh to detect installed app ntfy
    • Export metadata indicating Umbrel ntfy is available to Canary
  • Backend:
    • Extend the self-hosted config/preferences contract to expose available ntfy options, not just a raw URL string
    • Preserve support for a manual custom URL
    • Keep cloud mode behavior unchanged
  • Frontend:
    • Update the ntfy settings UI from raw-manual-only input to a simple choice UI with optional manual override
    • If Umbrel ntfy is selected, use http://ntfy_app_1 as the saved/effective server URL
    • Keep token configuration visible and straightforward, since Umbrel ntfy still requires an access token

Acceptance criteria

  • Umbrel Canary detects when the Umbrel ntfy app is installed
  • Self-hosted Settings exposes Umbrel ntfy as a built-in option when available
  • Selecting Umbrel ntfy causes Canary backend publishes to use http://ntfy_app_1
  • The user can still configure an ntfy access token for Umbrel ntfy
  • Manual custom ntfy URL configuration remains possible
  • Test Notification works with the selected ntfy target
  • Existing non-Umbrel self-hosted ntfy configuration continues to work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions