{"id":13587442,"url":"https://github.com/jarischaefer/docker-librenms","last_synced_at":"2026-04-02T17:04:38.790Z","repository":{"id":34015003,"uuid":"37771757","full_name":"jarischaefer/docker-librenms","owner":"jarischaefer","description":"Docker image for LibreNMS","archived":false,"fork":false,"pushed_at":"2026-03-28T22:19:28.000Z","size":267,"stargazers_count":122,"open_issues_count":7,"forks_count":37,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-03-29T00:56:56.435Z","etag":null,"topics":["docker","docker-librenms","https","librenms","mysql","nginx","php","rrdcached","ssl"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jarischaefer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-06-20T14:00:45.000Z","updated_at":"2026-03-28T22:19:08.000Z","dependencies_parsed_at":"2023-02-17T17:01:11.092Z","dependency_job_id":"e3f9dc4e-9378-48ed-b7b7-d7fa3a04b05c","html_url":"https://github.com/jarischaefer/docker-librenms","commit_stats":null,"previous_names":[],"tags_count":169,"template":false,"template_full_name":null,"purl":"pkg:github/jarischaefer/docker-librenms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarischaefer%2Fdocker-librenms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarischaefer%2Fdocker-librenms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarischaefer%2Fdocker-librenms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarischaefer%2Fdocker-librenms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jarischaefer","download_url":"https://codeload.github.com/jarischaefer/docker-librenms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jarischaefer%2Fdocker-librenms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31311065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-librenms","https","librenms","mysql","nginx","php","rrdcached","ssl"],"created_at":"2024-08-01T15:06:12.915Z","updated_at":"2026-04-02T17:04:38.766Z","avatar_url":"https://github.com/jarischaefer.png","language":"Shell","readme":"docker-librenms\n---\n\n***Docker image for LibreNMS***\n\n---\n\u003e :warning: **This document refers to the master branch and does not necessarily correspond to the version that you are running.**\nIt is recommended to extract the readme from your preferred release's source code archive.\nReleases are listed on the [Releases page](https://github.com/jarischaefer/docker-librenms/releases).\n\n---\n\n# About\n\ndocker-librenms is a customizable Docker image for [LibreNMS](http://www.librenms.org/) based on Ubuntu.\n\nThe container runs nginx 1.18+ with HTTP/2 support and PHP 8.3 FPM with [OPCache](http://php.net/manual/en/book.opcache.php)\nand [rrdcached](https://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html) for maximum performance.\n\n\u003e :warning: ARM support is experimental, see [here](https://github.com/jarischaefer/docker-librenms/issues/114) for more details.\n\n---\n\n# Initial setup\n\n## 1.1. Generating an encryption key\n\nYou must first generate a unique encryption key.\n\n**Generating the key**\n\n\tdocker run --rm jarischaefer/docker-librenms generate_key\n\n**Output example**\n\n\tbase64:Q0+ZV56/5Uwz79vsvS4ZfwQFOty3e9DJEouEy+IXvz8=\n\n\u003e :warning: Make sure you keep the key secret, because anyone in possession of it can decrypt sensitive data.\n\n## 1.2. Passing the encryption key\n\nThere are currently two methods to pass the encryption key to LibreNMS. Make sure to include the full key (including `base64:`)\nregardless of the method used.\n\n### 1.2.1. Passing the key directly via environment variable\n\nThe key can be passed via the `APP_KEY` environment variable in the `docker run` command.\n\n**Example**\n\nThe following command is incomplete and only illustrates passing an environment variable:\n\n\tdocker run -e APP_KEY=base64:Q0+ZV56/5Uwz79vsvS4ZfwQFOty3e9DJEouEy+IXvz8= jarischaefer/docker-librenms\n\n### 1.2.2. Passing the key via a secret file\n\nAlternatively, you may use the `APP_KEY_FILE` environment variable and mount the secret as a file inside the container.\nYou must first create the file on the host and only then start the container (otherwise Docker creates and mounts a directory instead of a file).\n\n**Example**\n\nThe following command is incomplete and only illustrates passing an environment variable and mounting a file:\n\n\tdocker run -e APP_KEY_FILE=/mount/secret_key -v /path/on/host/secret_key:/mount/secret_key\n\n## 2.1. Database - Prerequisites\n\nIf you don't have a MySQL server setup either in Docker or elsewhere then you can create a docker container [here](MYSQL.md).\n\nYou should read the [LibreNMS installation docs](https://docs.librenms.org/Installation/Install-LibreNMS/)\nfor the latest instructions regarding database setup.\n\nAs of July 2020, the following settings are required (should apply to both MariaDB and MySQL):\n```\ninnodb_file_per_table=1\nlower_case_table_names=0\n```\n\n## 2.2. Database - Creating LibreNMS tables\n\nYou should have a MySQL server running at this point. Make sure the database, user and permissions exist before running the commands.\n\nNext, follow the instructions for [running the container](#running-the-container).\nOnce the container is up and running, you may use the following commands to populate the database and create an admin user.\n\n**Creating the tables**\n\n\tdocker exec librenms setup_database\n\n## 3.1. LibreNMS - Adding users\n\n**Creating an initial admin user**\n\n\tdocker exec librenms create_admin\n\nThis creates a user with the following properties:\n\n* User: admin\n* Password: admin\n* Role: admin\n* E-Mail: admin@example.com\n\n**Creating a custom user**\n\n\tdocker exec librenms create_user user password role email\n\t\nExample:\n\n\tdocker exec librenms create_user admin secret admin admin@example.com\n\tdocker exec librenms create_user joe secret normal normal@example.com\n\tdocker exec librenms create_user read secret global-read read@example.com\n\n---\n\n# Running the container\n\nThe examples below do not cover all of the available configuration options, check the appropriate section in the docs for a complete list.\n\n## Linked database container\n\nIn the example below the linked container is named `my-database-container` and its alias inside the container is `database`.\nMake sure `my-database-container` matches the MySQL container's name and `DB_HOST` matches its alias inside the container if you intend\nto modify it.\n\n\tdocker run \\\n\t\t-d \\\n\t\t-h librenms \\\n\t\t-p 80:80 \\\n\t\t-e APP_KEY=the_secret_key_you_have_generated \\\n\t\t-e DB_HOST=database \\\n\t\t-e DB_NAME=librenms \\\n\t\t-e DB_USER=librenms \\\n\t\t-e DB_PASS=secret \\\n\t\t-e BASE_URL=http://localhost \\\n\t\t--link my-database-container:database \\\n\t\t-v /data/logs:/opt/librenms/logs \\\n\t\t-v /data/rrd:/opt/librenms/rrd \\\n\t\t--name librenms \\\n\t\tjarischaefer/docker-librenms\n\n## Remote database\n\n\tdocker run \\\n\t\t-d \\\n\t\t-h librenms \\\n\t\t-p 80:80 \\\n\t\t-e APP_KEY=the_secret_key_you_have_generated \\\n\t\t-e DB_HOST=x.x.x.x \\\n\t\t-e DB_NAME=librenms \\\n\t\t-e DB_USER=librenms \\\n\t\t-e DB_PASS=secret \\\n\t\t-e BASE_URL=http://localhost \\\n\t\t-v /data/logs:/opt/librenms/logs \\\n\t\t-v /data/rrd:/opt/librenms/rrd \\\n\t\t--name librenms \\\n\t\tjarischaefer/docker-librenms\n\n## SSL\n\nMount another directory containing `ssl.key`, `ssl.crt` and optionally `ssl.ocsp.crt` to enable HTTPS.\nYou'll also have to change `BASE_URL` and add `SESSION_SECURE_COOKIE=true`.\n\n\tdocker run \\\n\t\t-d \\\n\t\t-h librenms \\\n\t\t-p 80:80 \\\n\t\t-p 443:443 \\\n\t\t-e APP_KEY=the_secret_key_you_have_generated \\\n\t\t-e DB_HOST=database \\\n\t\t-e DB_NAME=librenms \\\n\t\t-e DB_USER=librenms \\\n\t\t-e DB_PASS=secret \\\n\t\t-e BASE_URL=https://localhost \\\n\t\t--link my-database-container:database \\\n\t\t-v /data/logs:/opt/librenms/logs \\\n\t\t-v /data/rrd:/opt/librenms/rrd \\\n\t\t-v /data/ssl:/etc/nginx/ssl:ro \\\n\t\t--name librenms \\\n\t\tjarischaefer/docker-librenms\n\n---\n\n# Updating the container\n\nUpdating an existing installation requires updating both the image and the database.\n\n## 1.1. Image update - Pulling a new version\n\n1. Pick a release from the [Releases page](https://github.com/jarischaefer/docker-librenms/releases)\n2. Run `docker pull jarischaefer/docker-librenms:{release}`\n3. Restart your container using the new version\n4. Follow the steps for database updates\n\n## 1.2. Database update\n\nAutomatic database updates are the most convenient solution for single-container setups.\n\n## 1.2.1. Manual database updates (safe)\n\nRun `docker exec librenms setup_database`.\n\n## 1.2.2. Automatic database updates (potentially unsafe)\n\nIf you would like to update the database automatically on startup, you may pass `DAILY_ON_STARTUP=true`.\nKeep in mind that restarting more than one container simultaneously could result in concurrency issues and damage your database.\n\nThe LibreNMS implementation (as of October 2018) uses a distributed lock via memcache to avoid this scenario.\nTherefore, if all containers share the same memcache instance, concurrent restarts would be safe.\n\n---\n\n# Configuration\n\n\u003e :warning: The container must be stopped, removed and subsequently restarted in order for configuration changes to take effect.\n\nThe following keys can be passed directly via the `-e` switch:\n\n## Basic configuration\n\n| Key                 | Default | Description                                          |\n|---------------------|---------|------------------------------------------------------|\n| APP_KEY             |         | Secret encryption key                                |\n| APP_KEY_FILE        |         | Secret encryption key via file/secret                |\n| BASE_URL            |         | Base URL for LibreNMS (e.g. http://192.168.0.1:8080) |\n| DB_HOST             |         | MySQL IP or hostname                                 |\n| DB_PORT             | 3306    | MySQL port                                           |\n| DB_NAME             |         | MySQL database name                                  |\n| DB_USER             |         | MySQL user                                           |\n| DB_PASS             |         | MySQL password                                       |\n| DB_PASS_FILE        |         | MySQL password via secret                            |\n| TZ                  | UTC     | Timezone (e.g. Europe/Zurich)                        |\n| PUID                |         | User ID                                              |\n| PGID                |         | Group ID                                             |\n| PHP_FPM_WORKERS_MIN | 1       | Minimum number of PHP-FPM workers                    |\n| PHP_FPM_WORKERS_MAX | 4       | Maximum number of PHP-FPM workers                    |\n\n## Enabling/disabling container features\n\n| Key                     | Default                                | Description                                                                         |\n|-------------------------|----------------------------------------|-------------------------------------------------------------------------------------|\n| DISABLE_IPV6            | false                                  | Disable nginx IPv6 socket                                                           |\n| MEMCACHED_ENABLE        | false                                  | Enable memcached                                                                    |\n| MEMCACHED_HOST          |                                        | memcached IP or hostname                                                            |\n| MEMCACHED_PORT          | 11211                                  | memcached port                                                                      |\n| NGINX_ENABLE            | true                                   | Enable nginx                                                                        |\n| PHPFPM_ENABLE           | true                                   | Enable PHP-FPM                                                                      |\n| RRDCACHED_ENABLE        | true                                   | Enable rrdcached                                                                    |\n| RRDCACHED_CONNECT       | unix:/var/run/rrdcached/rrdcached.sock | rrdcached TCP or unix socket where LibreNMS connects to                             |\n| RRDCACHED_LISTEN        | unix:/var/run/rrdcached/rrdcached.sock | rrdcached TCP or unix socket where rrdcached listens on                             |\n| SKIP_CHOWN              | false                                  | Disable (slow) `chown`ing of files at startup (might help with network storage)     |\n| SNMPTRAPD_ENABLE        | false                                  | Enable [SNMP Trap Handler](https://docs.librenms.org/Extensions/SNMP-Trap-Handler/) |\n| SNMPTRAPD_MIBS          | IF-MIB                                 | Passed to snmptrapd via `-m`                                                        |\n| SNMPTRAPD_MIBDIRS       | /opt/librenms/mibs                     | Passed to snmptrapd via `-M`                                                        |\n| LIBRENMS_SERVICE_ENABLE | false                                  | Enable librenms-service.py                                                          |\n| LIBRENMS_SERVICE_OPTS   | \"\"                                     | Options for librenms-service.py (e.g. `-v`)                                         |\n\n## Enabling/disabling LibreNMS features\n\n\u003e :warning: Some values must be wrapped in quotation marks (e.g. cron schedule).\n\n| Key                      | Default       | Description                                                                                            |\n|--------------------------|---------------|--------------------------------------------------------------------------------------------------------|\n| ALERTS_ENABLE            | true          | Enable LibreNMS alerts                                                                                 |\n| BILLING_CALCULATE_ENABLE | true          | Enable LibreNMS billing calculation                                                                    |\n| CHECK_SERVICES_ENABLE    | true          | Enable LibreNMS service checks                                                                         |\n| DAILY_ENABLE             | true          | Enable LibreNMS daily script                                                                           |\n| DAILY_ON_STARTUP         | false         | Enable LibreNMS daily script on startup                                                                |\n| DISCOVERY_ENABLE         | true          | Enable LibreNMS discovery                                                                              |\n| DISCOVERY_THREADS        | 1             | Number of threads for discovery                                                                        |\n| ENABLE_SYSLOG            | false         | Enable LibreNMS syslog ([see here](#syslog))                                                           |\n| POLL_BILLING_ENABLE      | true          | Enable LibreNMS billing polling                                                                        |\n| POLLERS_ENABLE           | true          | Enable LibreNMS polling                                                                                |\n| POLLERS                  | 8             | Number of LibreNMS pollers                                                                             |\n| POLLERS_CRON             | \"*/5 * * * *\" | Cron schedule for pollers                                                                              |\n| SNMP_SCAN_ENABLE         | false         | Enable cron for [snmp-scan](https://docs.librenms.org/#Extensions/Auto-Discovery/#snmp-scan)           |\n| SNMP_SCAN_CRON           | \"0 0 * * *\"   | Cron schedule for snmp-scan                                                                            |\n| WEATHERMAP_ENABLE        | false         | Enable cron for [weathermap](https://github.com/librenms-plugins/Weathermap) ([see here](#Weathermap)) |\n| WEATHERMAP_CRON          | \"*/5 * * * *\" | Cron schedule for weathermap                                                                           |\n\n## Custom configuration\n\nYou may apply custom configuration by mounting files matching\n`*.php` in `/opt/librenms/conf.d`.\n\nIn the example below `/data/config.interfaces.php` on the host\nis mounted inside the container at `/opt/librenms/conf.d/config.interfaces.php`.\n\n\tdocker run \\\n\t\t-d \\\n\t\t-h librenms \\\n\t\t-p 80:80 \\\n\t\t-p 443:443 \\\n\t\t-e APP_KEY=the_secret_key_you_have_generated \\\n\t\t-e DB_HOST=database \\\n\t\t-e DB_NAME=librenms \\\n\t\t-e DB_USER=librenms \\\n\t\t-e DB_PASS=secret \\\n\t\t-e BASE_URL=https://localhost \\\n\t\t--link my-database-container:database \\\n\t\t-v /data/logs:/opt/librenms/logs \\\n\t\t-v /data/rrd:/opt/librenms/rrd \\\n\t\t-v /data/ssl:/etc/nginx/ssl:ro \\\n\t\t-v /data/config.interfaces.php:/opt/librenms/conf.d/config.interfaces.php \\\n\t\t--name librenms \\\n\t\tjarischaefer/docker-librenms\n\n**config.interfaces.php**\n```\n\u003c?php\n\n$config['bad_if_regexp'][] = '/^docker[-\\w].*$/';\n$config['bad_if_regexp'][] = '/^lxcbr[0-9]+$/';\n$config['bad_if_regexp'][] = '/^veth.*$/';\n$config['bad_if_regexp'][] = '/^virbr.*$/';\n$config['bad_if_regexp'][] = '/^lo$/';\n$config['bad_if_regexp'][] = '/^macvtap.*$/';\n$config['bad_if_regexp'][] = '/gre.*$/';\n$config['bad_if_regexp'][] = '/tun[0-9]+$/';\n```\n\n## Disabling cron jobs or the local rrdcached instance\n\nIf you plan to use this container for a distributed LibreNMS installation, you may want to disable some of\nthe [default cron jobs](https://github.com/jarischaefer/docker-librenms/blob/master/files/etc/cron.d/librenms),\nor the local rrdcached, nginx and php-fpm services. You could also increase the number of `discovery-wrapper.py`\nthreads.\n\n\tdocker run \\\n\t\t-d \\\n\t\t-h librenms \\\n\t\t-p 80:80 \\\n\t\t-e APP_KEY=the_secret_key_you_have_generated \\\n\t\t-e DB_HOST=database \\\n\t\t-e DB_NAME=librenms \\\n\t\t-e DB_USER=librenms \\\n\t\t-e DB_PASS=secret \\\n\t\t-e BASE_URL=http://localhost \\\n\t\t-e POLLERS=16 \\\n\t\t-e TZ=UTC \\\n\t\t-e DISCOVERY_THREADS=2 \\\n\t\t-e DAILY_ENABLE=false \\\n\t\t-e ALERTS_ENABLE=false \\\n\t\t-e CHECK_SERVICES_ENABLE=false \\\n\t\t-e RRDCACHED_ENABLE=false \\\n\t\t-e NGINX_ENABLE=false \\\n\t\t-e PHPFPM_ENABLE=false \\\n\t\t--link my-database-container:database \\\n\t\t-v /data/logs:/opt/librenms/logs \\\n\t\t-v /data/rrd:/opt/librenms/rrd \\\n\t\t--name librenms \\\n\t\tjarischaefer/docker-librenms\n\n---\n\n# Troubleshooting\n\n## Executing commands inside the container\n\nMake sure you `source` the environment variables from /etc/librenms_environment\nprior to executing commands inside the container.\n\nThis is an example demonstrating how to run the validation script.\n\n\tsu - librenms\n\tsource /etc/librenms_environment\n\tcd /opt/librenms\n\tphp validate.php\n\n---\n\n# Running in production\n\n## General notes\n\nThe commands above are purely for illustrative purposes.\nYou should customize them to fit your environment.\n\nAlso, please note that...\n\n* Alerting via email is supported via SMTP only.\n* Publicly accessible installations should be put behind\n[jwilder/nginx-proxy](https://github.com/jwilder/nginx-proxy) or\nsimilar proxies for better access control and security hardening.\n\n## Backups\n\nSee\n[Issue #145](https://github.com/jarischaefer/docker-librenms/issues/145#issuecomment-1732171713)\nfor information regarding backups. The documentation is still *work in progress*.\n\n### Directory structure\n\nCreate a directory structure such as this:\n\n* `/srv/librenms/web/logs`\n* `/srv/librenms/web/rrd`\n* `/srv/librenms/db/data`\n\nInstead of copying multiple directories, this approach involves only `/srv/librenms`.\n\n### Temporary backup\n\n* Use this kind of backup for test environments, for example to create a copy of an existing\ninstallation prior to an upgrade or configuration change.\n* The output is in binary form and generally tied to a specific version of LibreNMS and the\ndatabase. A future version of LibreNMs or the database may not be able to read the old data. For\nthe database, this can be overcome by creating a dump file (see long-term backup).\n\n**Backing up**\n1. Stop the LibreNMS web container: `docker stop librenms-web`\n2. Stop the database container: `docker stop librenms-db`\n3. Copy or archive the directory: `tar -cf /srv/backup.tar -C /srv/librenms .`\n\n**Restoring**\n1. Choose and create a new directory for the data: `mkdir -p /srv/restore`\n2. Copy the directory, or extract the archive: `tar -xf /srv/backup.tar -C /srv/restore`\n3. Copy `docker-compose.yml` or other start-/stop-scripts\n4. Update the paths in `docker-compose.yml` or `docker run` to point to `/srv/restore`\n5. Update the database port on the host `docker-compose.yml` or `docker run`, e.g. `3306` to `3307`\n\n### Long-term backup\n\n* Use this kind of backup for long-term storage.\n* In contrast to temporary backups, a portion of the long-term backup is stored in text form,\nmaking it more portable.\n\n**Backing up**\n1. Stop the LibreNMS web container: `docker stop librenms-web`\n2. Copy or archive the web directory: `tar -cf /srv/backup.tar -C /srv/librenms/web .`\n3. Dump the database: `mysqldump --host=127.0.0.1 --port=3306 --user=librenms -p --single-transaction librenms \u003e /srv/backup.sql`\n\n**Restoring**\n1. Choose and create a new directory for the data: `mkdir -p /srv/restore`\n2. Copy `docker-compose.yml` or other start-/stop-scripts\n3. Update the paths in `docker-compose.yml` or `docker run` to point to `/srv/restore`\n4. Update the database port on the host `docker-compose.yml` or `docker run`, e.g. `3306` to `3307`\n5. Start the database container. Stop the web container if it is also started\n6. Make sure you can log in from the host to the database container. There should be an empty\n`librenms` database, otherwise create it and grant privileges:\n`mysql --host=127.0.0.1 --port=3307 --user=librenms -p`\n7. Restore the dump: `cat /srv/backup.sql | mysql --host=127.0.0.1 --port=3307 --user=librenms -p librenms`\n8. Remove any unwanted files: `rm -r /srv/restore/web \u0026\u0026 mkdir -p /srv/restore/web`\n9. Copy the directory, or extract the archive: `tar -xf /srv/backup.tar -C /srv/restore/web`\n\n---\n\n# Plugins and extensions\n\n## Custom Nagios plugins\n\nNagios plugins are stored in `/usr/lib/nagios/plugins`. Choose one of the options below if you would like to add new plugins.\nSee the [corresponding issue](https://github.com/jarischaefer/docker-librenms/issues/125) for more information.\n\n**Option 1 (recommended)**\n\n1. Mount a new directory to `/mount/nagios_plugins`. Example (using Docker CLI): `-v /nagios_plugins:/mount/nagios_plugins`\n2. Copy the new plugins to `/nagios_plugins` on the host\n3. Restart the container and verify that the files exist: `docker exec librenms ls -al /usr/lib/nagios/plugins`\n\nThe container will automatically symlink the contents of `/mount/nagios_plugins` to `/usr/lib/nagios/plugins`.\n\n**Example**\n\n```\ndocker exec librenms ls -al /usr/lib/nagios/plugins/check_xyz\n\nlrwxrwxrwx 1 root root 31 Jan 21 22:19 /usr/lib/nagios/plugins/check_xyz -\u003e /mount/nagios_plugins/check_xyz\n```\n\n**Option 2**\n\nMake sure the plugin (file) exists on the host before starting the container (Docker creates a directory on startup by default).\nEach plugin must be mounted individually (`-v` for Docker CLI), for example: `-v /nagios_plugins/check_xyz:/usr/lib/nagios/plugins/check_xyz`\n\n## syslog\n\nThese are instructions for the [LibreNMS syslog extension](https://docs.librenms.org/#Extensions/Syslog/).\n\n* Add `-e ENABLE_SYSLOG=true` to your docker run command\n* Add `-p 514:514` and `-p 514:514/udp` to your docker run command\n* Configure the remote host whose logs should be gathered (rsyslog example)\n  * Create /etc/rsyslog.d/60-librenms.conf\n  * Add `*.* @example.com:514`\n\nUnfortunately, due to the way Docker works (more specifically, its network modes), the devices and IP addresses\nvisible in LibreNMS may not be what one would expect. Instead of displaying the host's real IP address,\nit is possible that an internal address such as `172.17.0.1` is observed. More information regarding this behavior\ncan be found in the [corresponding issue](https://github.com/jarischaefer/docker-librenms/issues/120).\n\n## Weathermap\n\nThese are instructions for the [LibreNMS weathermap plugin](https://github.com/librenms-plugins/Weathermap).\n\nThe weathermap plugin requires additional mounts to persist its data.\n* `/opt/librenms/html/plugins/Weathermap/configs` for the configs\n* `/opt/librenms/html/plugins/Weathermap/output` for the generated data\n\nMake sure you set *Output Image Filename* to `output/example.png` and\n*Output HTML Filename* to `output/example.html` in the *Map Properties*\nconfiguration section so the files are persisted in the `output` directory.\n\n---\n\n# License\n\nThis project is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).\n\nLibreNMS has its own license, this license only covers the Docker part.\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarischaefer%2Fdocker-librenms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarischaefer%2Fdocker-librenms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarischaefer%2Fdocker-librenms/lists"}