Download the PHP package devuni/notifier-package without Composer
On this page you can find all versions of the php package devuni/notifier-package. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download devuni/notifier-package
More information about devuni/notifier-package
Files in devuni/notifier-package
Package notifier-package
Short Description Laravel package for automated backups and notifications.
License MIT
Homepage https://github.com/devuni-cz/notifier-package
Informations about the package notifier-package
Devuni Notifier Package
Encrypted database & storage backups for Laravel apps, shipped to the Devuni Notifier central server. AES-256 ZIPs, chunked HTTPS upload, token auth, queue support. Supports MySQL, MariaDB, PostgreSQL, and YugabyteDB (via YSQL).
How it works
Heads up: This is the client side of the Devuni Notifier platform. Without a central server configured via
NOTIFIER_URL, there's nowhere to send backups. If you don't have it, try spatie/laravel-backup instead.
Install
Requirements: PHP 8.4+, Laravel 12+, the right dump tool for your DB (mysqldump / mariadb-dump for MySQL & MariaDB, pg_dump or ysql_dump for PostgreSQL & YugabyteDB), and p7zip-full (recommended) or PHP zip extension.
Usage
Scheduled backups (recommended)
Add to routes/console.php:
On demand
HTTP API
Trigger backups from an external scheduler. Rate-limited to 10 req/min.
On failure the response returns an opaque error_id (UUID) - the full detail (stack trace, mysqldump/7z stderr) stays in your backup log channel. Grep logs for the UUID to correlate.
Announcements
Pull this site's maintenance/announcement notices from the central server and show them in your dashboard. On by default - it costs nothing until NOTIFIER_URL is set (the service no-ops without a target). Disable with NOTIFIER_ANNOUNCEMENTS_ENABLED=false.
Filament hosts (the common case): when Filament is installed, the notices are auto-injected as a banner into every panel page via a render hook - nothing to place. Move the spot with NOTIFIER_ANNOUNCEMENTS_FILAMENT_HOOK (default panels::content.start; also panels::body.start, panels::topbar.end), or turn the auto-injection off with NOTIFIER_ANNOUNCEMENTS_FILAMENT=false. Works across Filament v3/v4/v5.
Blade hosts: drop the component anywhere:
Inertia / Vue / React hosts: the service is framework-agnostic - render it yourself:
Requests are per-repository and reuse your existing NOTIFIER_URL + X-Notifier-Token (GET {NOTIFIER_URL}/announcements), so the server returns only this site's announcements - no other repositories are disclosed. Responses are cached (NOTIFIER_ANNOUNCEMENTS_CACHE_TTL, default 900 s) so the dashboard never blocks on a live request, and any fetch failure renders nothing rather than breaking your dashboard. Customize the Blade markup with vendor:publish --tag="notifier-views".
Configure
Minimum .env:
Optional: NOTIFIER_LOGGING_CHANNEL, NOTIFIER_ROUTES_ENABLED, NOTIFIER_ROUTE_PREFIX, NOTIFIER_ZIP_STRATEGY (auto/cli/php), NOTIFIER_CHUNK_SIZE, NOTIFIER_QUEUE_CONNECTION, NOTIFIER_DATABASE_CONNECTION, NOTIFIER_POSTGRES_DUMP_BINARY, NOTIFIER_POSTGRES_SCHEMA. See config/notifier.php for defaults and descriptions.
Database engine
The package auto-detects which dump tool to use from your Laravel connection driver:
| Driver | Tool used | Install |
|---|---|---|
mysql, mariadb |
mysqldump |
apt install mysql-client or mariadb-client |
pgsql (PostgreSQL) |
pg_dump |
apt install postgresql-client |
pgsql (YugabyteDB) |
ysql_dump if installed, else pg_dump |
YugabyteDB tools |
By default the package backs up your app's default Laravel connection (config('database.default')). Override with NOTIFIER_DATABASE_CONNECTION=pgsql if you want a different one.
For PostgreSQL/Yugabyte, force a specific binary via NOTIFIER_POSTGRES_DUMP_BINARY=ysql_dump (or pg_dump). Non-public schemas: set NOTIFIER_POSTGRES_SCHEMA=myschema.
Exclusions
Arrays - edit config/notifier.php:
Queue offloading
API-triggered backups can be offloaded to avoid PHP timeouts:
Artisan commands always run synchronously regardless of this setting.
Security
- At rest: AES-256 encrypted archives with
0600permissions, cleaned up after upload - In transit: HTTPS-only,
hash_equalstoken comparison, per-chunk + full-file SHA-256 verification - No leaks: ZIP password passed via stdin (not argv - invisible to
ps//proc/*/cmdline); API errors return opaque UUIDs, not raw exception messages - Report vulnerabilities: see security policy - don't open public issues
Links
- Changelog - see what's new in each release
- Contributing
- Full config reference
Credits
- Ludwig Tomas
- All contributors
License
MIT - see LICENSE.md.
All versions of notifier-package with dependencies
guzzlehttp/guzzle Version ^7.11.1
illuminate/console Version ^12.55.0 || ^13.14
illuminate/contracts Version ^12.55.0 || ^13.14
illuminate/http Version ^12.55.0 || ^13.14
illuminate/queue Version ^12.55.0 || ^13.14
illuminate/routing Version ^12.55.0 || ^13.14
illuminate/support Version ^12.55.0 || ^13.14
laravel/prompts Version ^0.3.18