# Docker image for munin server ## Note The package is based on the original Scalingo docker image which was modified to run OpenShift platform. Major modifications: * Runs under non-privileged user * Based on Alpine Linux * Database and lockfiles can be mounted as a single volume * Authentication support is dropped, email notifications are not checked ## Configuration All the configuration is done through the environment. ### SMTP info for alerts Email credentials used to send emails (like alerts) * `SMTP_HOST` * `SMTP_PORT` * `SMTP_USERNAME` * `SMTP_PASSWORD` * `SMTP_USE_TLS` * `SMTP_ALWAYS_SEND` * `SMTP_MESSAGE` ### Alert target Email addressed used for the alerts, require SMTP credentials. * `ALERT_RECIPIENT` * `ALERT_SENDER` ### List of the nodes to check The port is always optional, default is 4949 * `NODES` format: `name1:ip1[:port1] name2:ip2[:port2] …` * `SNMP_NODES` format: `name1:ip1[:port1]` … * `SSH_NODES` format: `name1:ip1[:port1]` … ## Port Container is listening on the port 8080 ## Volumes For a bit of persistency * /minin -> everything: configuration, database, locks, and log files * /munin/db -> db * /munin/run -> locks * /munin/log -> log files ## How to use the image ``` docker build -t munin-server . docker run -d \ -p 8080:8080 \ -v /var/lib/munin:/munin \ -e SMTP_HOST=smtp.example.com \ -e SMTP_PORT=587 \ -e SMTP_USERNAME=smtp-username \ -e SMTP_PASSWORD=smtp-password \ -e SMTP_USE_TLS=false \ -e SMTP_ALWAYS_SEND=true \ -e SMTP_MESSAGE='[${var:group};${var:host}] -> ${var:graph_title} -> warnings: ${loop<,>:wfields ${var:label}=${var:value}} / criticals: ${loop<,>:cfields ${var:label}=${var:value}}' \ -e ALERT_RECIPIENT=monitoring@example.com \ -e ALERT_SENDER=alerts@example.com \ -e NODES="server1:10.0.0.1 server2:10.0.0.2" \ -e SNMP_NODES="router1:10.0.0.254:9999" \ munin-server ```