LaravelPackages.net
Acme Inc.
Toggle sidebar
wijourdil/ntfy-notification-channel

ntfy.sh Notification Channel for Laravel

10.620
23
5.1.0
About wijourdil/ntfy-notification-channel

wijourdil/ntfy-notification-channel is a Laravel package for ntfy.sh notification channel for laravel. It currently has 23 GitHub stars and 10.620 downloads on Packagist (latest version 5.1.0). Install it with composer require wijourdil/ntfy-notification-channel. Discover more Laravel packages by wijourdil or browse all Laravel packages to compare alternatives.

Last updated

ntfy.sh Notification Channel for Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package adds a Laravel Notification Channel to sent messages via ntfy. It's build on top of the verifiedjoseph/ntfy-php-library package.

Installation

Install the package via composer:

composer require wijourdil/ntfy-notification-channel

Publish the config file with:

php artisan vendor:publish --tag="ntfy-notification-channel-config"

Configuration

If you are using the online version https://ntfy.sh, you don't need to configure the server base url. But if you are using a self-hosted version of ntfy, you can configure it in your .env file:

NTFY_SERVER=https://ntfy.example.com

By default, authentication is disabled. If you want to connect using credentials, you can also configure it within you .env file:

# Activate authentication by setting this variable to `true`
NTFY_AUTH_ENABLED=true

# You can either authenticate with username & password...
NTFY_AUTH_USERNAME=michel
NTFY_AUTH_PASSWORD=m0tDeP4ss3

# ... or with a token instead of username and password
NTFY_AUTH_TOKEN="tk_mo0babk5gtg2suidltq5d8r7o2a67"

To see default values and other settings, see the config/ntfy-notification-channel.php config file.

Usage

In your Notification class, tell Laravel to send your notification via ntfy by returning the NtfyChannel::class in the via() method:

use Wijourdil\NtfyNotificationChannel\Channels\NtfyChannel;

public function via($notifiable)
{
    return [NtfyChannel::class];
}

Then, define a toNtfy() method in your Notification:

use Ntfy\Message;

public function toNtfy(mixed $notifiable): Message
{
    $message = new Message();
    $message->topic('test');
    $message->title('It works!');
    $message->body("And voila, I sent my notification using ntfy.sh!");
    $message->tags(['white_check_mark', 'ok_hand']);

    return $message;
}

Here is what the notification looks like using the ntfy mobile app:

Notification example with ntfy app

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.

Star History Chart