Skip to content

full featured docker container for icingaweb2 with a set of modules

License

Notifications You must be signed in to change notification settings

bodsch/docker-icingaweb2

Repository files navigation

docker-icingaweb2

Docker Container for icingaweb2 based on alpine-linux.

Now with PHP7 (7.x) Support and many installed modules and themes (see below).

Status

Docker Pulls Image Size Build Status

Build

Your can use the included Makefile.

  • To build the Container: make build
  • To remove the builded Docker Image: make clean
  • Starts the Container: make run
  • Starts the Container with Login Shell: make shell
  • Entering the Container: make exec
  • Stop (but not kill): make stop
  • History make history

director integration in combination with a dockerized icinga2-master

The Director will be automated configured. For this we need a stable running Icinga2 master.

For this we check the availability of the API port (5665) and wait until the Icinga2 master has reached an uptime of 2 minutes.

Modules

vspheredb

The implementation of the plugin used here does not use the integrated daemon, because it is currently causing problems.
Instead, the commandline tools are integrated via a separate process.

known bus / problems

After deleting a vcenter, fragments of VMs, datastores, etc. remain in the database and can still be displayed.

x509

You can add an customized configuration for the x509 module by adding an directory /init/custom.d/x509 and drop a jobs.ini file:

Example file

[google]
cidrs = "172.217.21.227/32"
ports = "443"
schedule = "0 0 * * *"

For more information read the module documentation!

Themes

Docker Hub

You can find the Container also at DockerHub

supported Environment Vars

Environmental Variable Default Value Description
MYSQL_HOST - MySQL Host
MYSQL_PORT 3306 MySQL Port
MYSQL_ROOT_USER root MySQL root User
MYSQL_ROOT_PASS - MySQL root password
IDO_DATABASE_NAME icinga2core Schema Name for IDO
IDO_PASSWORD - IDO password
GRAPHITE_HOST - Hostname for the graphite service
If no hostname is specified, the module is automatically deactivated.
GRAPHITE_HTTP_PORT 8080 graphite port
ICINGA2_MASTER icinga2-master Icinga2 Host for Command Transport over API
ICINGA2_API_PORT 5665 Icinga2 API Port
ICINGA2_CMD_API_USER - API User for Command Transport
ICINGA2_CMD_API_PASS - API Password for Command Transport
ICINGAWEB_ADMIN_USER icinga
ICINGAWEB_ADMIN_PASS icinga
ICINGAWEB2_USERS - comma separated list to create Icingaweb2 Users. The format are username:password
(e.g. admin:admin,dashing:dashing and so on)
ICINGAWEB_DIRECTOR true switch the Director configuration on / off
Disabling the Director automatically disables the following modules: x509, vspheredb
ICINGA2_UPTIME 125 Waits (in seconds) for a stable running Icinga2 instance.
Otherwise the Director cannot be configured automatically.

Grafana Support

Environmental Variable Default Value Description
GRAFANA_HOST grafana
GRAFANA_PORT 3000
GRAFANA_TIMERANGE 12h
GRAFANA_TIMERANGE_ALL 7d
GRAFANA_DASHBOARD icinga2-default
GRAFANA_DASHBOARD_UID ``
GRAFANA_PROTOCOL http
GRAFANA_ACCESS proxy
GRAFANA_AUTHENTICATION token
GRAFANA_AUTHENTICATION_TOKEN ``
GRAFANA_AUTHENTICATION_USERNAME admin
GRAFANA_AUTHENTICATION_PASSWORD admin
GRAFANA_DATASOURCE influxdb
GRAFANA_ENABLE_LINK no
GRAFANA_SHOW_DEBUG 0
GRAFANA_PUBLIC no
GRAFANA_PUBLIC_HOST localhost/grafana/
GRAFANA_PUBLIC_PROTOCOL http
GRAFANA_THEME light
GRAFANA_PROXY_TIMEOUT 5

LDAP support

Please read more at the official Icingaweb2 Doku.

The environment variables for LDAP can be configured for 2 different reasons.:

each environment variable is specified individually

  • LDAP_AD (default: false) is the LDAP server an Active Directory
  • LDAP_SERVER (default: -) the LDAP server
  • LDAP_PORT (default: 389) the LDAP Port
  • LDAP_BIND_DN (default: -) LDAP Bind DN
  • LDAP_BIND_PASSWORD (default: -) Bind Password
  • LDAP_BASE_DN (default: -) Base DN
  • LDAP_FILTER (default: -) LDAP filter
  • LDAP_ROLE_GROUPS (default: -) LDAP groups
  • LDAP_ROLE_PERMISSIONS (default: *) LDAP group permissions

an environment variable summarizes everything as json

  • LDAP(default: -) json formated configuration
{
  "active_directory": "true",
  "server":"${LDAP_SERVER}",
  "port":"${LDAP_PORT}",
  "bind_dn": "${LDAP_BIND_DN}",
  "bind_password": "${LDAP_BIND_PASSWORD}",
  "base_dn": "${LDAP_BASE_DN}",
  "filter": "${LDAP_FILTER}",
  "role": {
    "groups": "${LDAP_ROLE_GROUPS}",
    "permissions": "${LDAP_ROLE_PERMISSIONS}"
  }
}

About

full featured docker container for icingaweb2 with a set of modules

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •