Adding Authentication plugins when running in Docker

Hi all,

I am running LibreNMS on bare matel, but wanted to integrate SSO with Authentik. I killed my exisintng install by trying to upgrade to PHP8, so I thought I would give docker a go, I got running in docker, was a much quicker deploy than Bare metal.

I am just trying to work out how to install the socialiteproviders/authentik plugin though.

I have tried connecting to the console, and running

lnms plugin:add socialiteproviders/authentik

and this was the output,

 Problem 1
    - phpunit/phpunit is locked to version 9.5.20 and an update of this package was not requested.
    - phpunit/phpunit 9.5.20 requires ext-xmlwriter * -> it is missing from your system. Install or enable PHP's xmlwriter extension.

To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php8/php.ini
    - /etc/php8/conf.d/00_ctype.ini
    - /etc/php8/conf.d/00_curl.ini
    - /etc/php8/conf.d/00_dom.ini
    - /etc/php8/conf.d/00_fileinfo.ini
    - /etc/php8/conf.d/00_gd.ini
    - /etc/php8/conf.d/00_gmp.ini
    - /etc/php8/conf.d/00_ldap.ini
    - /etc/php8/conf.d/00_mbstring.ini
    - /etc/php8/conf.d/00_opcache.ini
    - /etc/php8/conf.d/00_openssl.ini
    - /etc/php8/conf.d/00_pdo.ini
    - /etc/php8/conf.d/00_posix.ini
    - /etc/php8/conf.d/00_session.ini
    - /etc/php8/conf.d/00_simplexml.ini
    - /etc/php8/conf.d/00_snmp.ini
    - /etc/php8/conf.d/00_sockets.ini
    - /etc/php8/conf.d/00_tokenizer.ini
    - /etc/php8/conf.d/00_xml.ini
    - /etc/php8/conf.d/00_zip.ini
    - /etc/php8/conf.d/01_mysqlnd.ini
    - /etc/php8/conf.d/01_phar.ini
    - /etc/php8/conf.d/02_pdo_mysql.ini
    - /etc/php8/conf.d/10_igbinary.ini
    - /etc/php8/conf.d/20_memcached.ini
    - /etc/php8/conf.d/mcrypt.ini
    - /etc/php8/conf.d/opcache.ini
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-xmlwriter` to temporarily ignore these required extensions.
Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require socialiteproviders/authentik:*" to figure out if any version is installable, or "composer require socialiteproviders/authentik:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

In RequireCommand.php line 530:
  file_put_contents(./composer.lock): Failed to open stream: Permission denied

Any suggestions would be much appreciated.



You need to build your own docker container for socialite plugins to work currently.

thanks @Jellyfrog.

Is there any guides or documentation on how to do this? I have been using docker and portainer a lot, but haven’t built anything from scratch yet, but happy to get my hands dirty, just need to know where to start.



No, but just import the librenms image and run the extra commands you need.

FROM librenms/librenms:latest
RUN ...