1
0
Fork 0
mirror of https://github.com/librenms/docker.git synced 2026-01-23 10:15:22 +00:00
This commit is contained in:
Skylark 2026-01-14 10:45:31 -06:00 committed by GitHub
commit 840c4ac57e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 84 additions and 0 deletions

View file

@ -186,6 +186,13 @@ linux/s390x
* `DB_PASSWORD`: MySQL password (default `librenms`)
* `DB_TIMEOUT`: Time in seconds after which we stop trying to reach the MySQL server (useful for clusters, default `60`)
### Plugins
* `INSTALL_PLUGINS`: Space-separated list of plugins to install
> This environment variable allows you to specify which plugins should be installed
> in your LibreNMS container. It's particularly useful for enabling SAML authentication.
> The value should be a space-separated list of plugin names.
### Misc
* `LIBRENMS_BASE_URL`: URL of your LibreNMS instance (default `/`)

View file

@ -0,0 +1,34 @@
#!/usr/bin/with-contenv sh
# shellcheck shell=sh
set -e
INSTALL_PLUGINS=${INSTALL_PLUGINS:-0}
SIDECAR_DISPATCHER=${SIDECAR_DISPATCHER:-0}
SIDECAR_SYSLOGNG=${SIDECAR_SYSLOGNG:-0}
SIDECAR_SNMPTRAPD=${SIDECAR_SNMPTRAPD:-0}
# Exit if any sidecar is enabled
if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ] || [ "$SIDECAR_SNMPTRAPD" = "1" ]; then
exit 0
fi
# Exit if plugins are not needed
if [ "$INSTALL_PLUGINS" = "0" ]; then
exit 0
fi
echo ">> Plugin configuration detected"
echo "Fixing permissions..."
chown librenms:librenms \
"${LIBRENMS_PATH}"/composer.* \
"${LIBRENMS_PATH}/logs/librenms.log" \
"${LIBRENMS_PATH}/scripts/composer_wrapper.php"
chown -R librenms:librenms \
"${LIBRENMS_PATH}/scripts" \
"${LIBRENMS_PATH}/vendor" \
"${LIBRENMS_PATH}/bootstrap"
# Install plugins
lnms plugin:add "$INSTALL_PLUGINS"

View file

@ -0,0 +1,43 @@
#!/usr/bin/with-contenv sh
# shellcheck shell=sh
set -e
INSTALL_PLUGINS=${INSTALL_PLUGINS:-0}
# Continue only if plugins are needed
if [ "$INSTALL_PLUGINS" = "0" ]; then
exit 0
fi
echo ">>"
echo ">> Plugin configuration detected"
echo ">>"
# Fix perms
echo "Fixing perms..."
chown librenms:librenms \
${LIBRENMS_PATH}/composer.* \
${LIBRENMS_PATH}/logs/librenms.log \
${LIBRENMS_PATH}/scripts/composer_wrapper.php
chown -R librenms:librenms \
${LIBRENMS_PATH}/scripts \
${LIBRENMS_PATH}/vendor \
${LIBRENMS_PATH}/bootstrap
# Create service
IFS=, read -ra PLUGINS <<< "$INSTALL_PLUGINS"
for plugin in "${PLUGINS[@]}"; do
echo "Installing plugin: $plugin"
if ! lnms plugin:installed "$plugin"; then
if ! lnms plugin:add "$plugin"; then
echo "Error installing $plugin" >&2
exit 1
fi
echo "Installed $plugin"
else
echo "$plugin already installed"
fi
done