Docker
LibreNMS Docker image
Install / Use
/learn @librenms/DockerREADME
About
Docker image for LibreNMS, a fully featured network monitoring system that provides a wealth of features and device support.
[!TIP] Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!
- Features
- Demo
- Build locally
- Image
- Environment variables
- Volumes
- Ports
- Usage
- Upgrade
- Configuration Management
- Notes
- Contributing
- License
Features
- Run as non-root user
- Multi-platform image
- Dispatcher service as "sidecar" container
- Syslog-ng support through a "sidecar" container
- Snmp-trap support through a "sidecar" container
- Ability to add custom Monitoring plugins
- Ability to add custom alert templates
- OPCache enabled to store precompiled script bytecode in shared memory
- s6-overlay as process supervisor
- Traefik as reverse proxy and creation/renewal of Let's Encrypt certificates (see this template)
- Redis image ready to use for better scalability
- RRDcached image ready to use for data caching and graphs
- msmtpd SMTP relay image to send emails
- MariaDB image as database instance
Demo
Build locally
$ git clone https://github.com/librenms/docker.git docker-librenms
$ cd docker-librenms
# Build image and output to docker (default)
$ docker buildx bake
# Build multi-platform image
$ docker buildx bake image-all
Image
Following platforms for this image are available:
$ docker buildx imagetools inspect librenms/librenms --format "{{json .Manifest}}" | \
jq -r '.manifests[] | select(.platform.os != null and .platform.os != "unknown") | .platform | "\(.os)/\(.architecture)\(if .variant then "/" + .variant else "" end)"'
linux/386
linux/amd64
linux/arm/v7
linux/arm64
linux/ppc64le
linux/s390x
Environment variables
General
TZ: The timezone assigned to the container (defaultUTC)PUID: LibreNMS user id (default1000)PGID: LibreNMS group id (default1000)MEMORY_LIMIT: PHP memory limit (default256M)MAX_INPUT_VARS: PHP max input vars (default1000)UPLOAD_MAX_SIZE: Upload max size (default16M)CLEAR_ENV: Clear environment in FPM workers (defaultyes)FPM_PM_MAX_CHILDREN: FPM max Children (default:15)FPM_PM_START_SERVERS: FPM start servers (default:2)FPM_PM_MIN_SPARE_SERVERS: FPM min spare servers (default:1)FPM_PM_MAX_SPARE_SERVERS: FPM max spare servers (default:6)OPCACHE_MEM_SIZE: PHP OpCache memory consumption (default128)LISTEN_IPV6: Enable IPv6 for Nginx (defaulttrue)REAL_IP_FROM: Trusted addresses that are known to send correct replacement addresses (default0.0.0.0/32)REAL_IP_HEADER: Request header field whose value will be used to replace the client address (defaultX-Forwarded-For)LOG_IP_VAR: Use another variable to retrieve the remote IP address for access log_format on Nginx. (defaultremote_addr)SESSION_DRIVER: Driver to use for session storage (defaultfile)CACHE_DRIVER: Driver to use for cache and locks (defaultdatabase)
Redis
[!NOTE] Redis variables should be set on all containers and are required when running more than one dispatcher.
REDIS_HOST: Redis host for poller synchronizationREDIS_SENTINEL: Redis Sentinel host for high availability Redis clusterREDIS_SENTINEL_SERVICE: Redis Sentinel service name (defaultlibrenms)REDIS_SCHEME: Redis scheme (defaulttcp)REDIS_PORT: Redis port (default6379)REDIS_PASSWORD: Redis passwordREDIS_DB: Redis database (default0)REDIS_CACHE_DB: Redis cache database (default1)
Dispatcher service
[!WARNING] You need at least one dispatcher sidecar, otherwise poller will not run sidecar dispatcher container.
SIDECAR_DISPATCHER: Set to1to enable sidecar dispatcher mode for this container (default0)DISPATCHER_NODE_ID: Unique node ID for your dispatcher serviceDISPATCHER_ARGS: Additional args to pass to the dispatcher service
Syslog-ng
[!WARNING] Only used if you enable and run a sidecar syslog-ng container.
SIDECAR_SYSLOGNG: Set to1to enable sidecar syslog-ng mode for this container (default0)
Snmptrapd
[!WARNING] Only used if you enable and run a sidecar snmptrapd container.
SIDECAR_SNMPTRAPD: Set to1to enable sidecar snmptrapd mode for this container (default0)SNMP_PROCESSING_TYPE: Sets which type of processing (log,execute, and/ornet) to use with the SNMP trap (defaultlog,execute,net)SNMP_USER: Defines what username to authenticate with (defaultlibrenms_user)SNMP_AUTH: Defines what password to authenticate with (defaultauth_passshould not be used, but will work)SNMP_PRIV: Defines what password to encrypt packages with (defaultpriv_passshould not be used, but will work)SNMP_AUTH_PROTO: Sets what protocol (MD5|SHA) to use for authentication (defaultSHA)SNMP_PRIV_PROTO: Sets what protocol (DES|AES) to use for encryption of packages (defaultAES)SNMP_SECURITY_LEVEL: Sets what security level (noauth|priv) to use (defaultpriv)SNMP_ENGINEID: Defines what SNMP EngineID to use (default1234567890)SNMP_DISABLE_AUTHORIZATION: Will disable the above access control checks, and revert to the previous behaviour of accepting all incoming notifications. (defaultyes)SNMP_EXTRA_MIB_DIRS: Additional directories where MIB files are for SNMP Traps (example/opt/librenms/mibs/veeam)
Database
DB_HOST: MySQL database hostname / IP addressDB_PORT: MySQL database port (default3306)DB_NAME: MySQL database name (defaultlibrenms)DB_USER: MySQL user (defaultlibrenms)DB_PASSWORD: MySQL password (defaultlibrenms)DB_TIMEOUT: Time in seconds after which we stop trying to reach the MySQL server (useful for clusters, default60)
Misc
LIBRENMS_BASE_URL: URL of your LibreNMS instance (default/)LIBRENMS_SNMP_COMMUNITY: This container's SNMP v2c community string (defaultlibrenmsdocker)MEMCACHED_HOST: Hostname / IP address of a Memcached serverMEMCACHED_PORT: Port of the Memcached server (default11211)RRDCACHED_SERVER: RRDcached server (eg.rrdcached:42217)
Volumes
/data: Contains configuration, plugins, rrd database, logs, additional Monitoring plugins, additional syslog-ng config files
[!WARNING] Note that the volume should be owned by the user/grou
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
345.9kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).

