Fixing LibreNMS After Updates: Missing Restify Provider

Fixing LibreNMS After Updates: Missing Restify Provider #

After a routine package update on my RHEL 9 LibreNMS server, the web UI stopped working and the logs showed a very familiar Laravel-style error:

[CRITICAL] Exception: Error Class "Binaryk\LaravelRestify\RestifyApplicationServiceProvider" not found @ /opt/librenms/app/Providers/RestifyServiceProvider.php:15

At first glance it looks like a code issue, but in this case the root cause was simpler: the PHP dependencies under /opt/librenms were stale or partially updated.

What was happening #

LibreNMS is a PHP application, and a large part of it relies on Composer-managed dependencies in the vendor/ directory. After updates, especially on a custom install under /opt/librenms, the application code can stay in place while the required vendor packages are no longer fully installed or updated.

When Laravel boots, it loads the application service providers. If one of the classes from the Restify package is missing, the app crashes before the dashboard can even load.

The fix #

The fix was to manually reinstall the LibreNMS PHP dependencies as the librenms user:

/opt/librenms/scripts/composer_wrapper.php install --no-dev

This command refreshes the Composer dependencies and brings the vendor directory back in sync with the application code. In other words, it restores the missing Binaryk\LaravelRestify package and the provider class that Laravel expects to load.