Docker Container for icingaweb2 based on alpine-linux.
Now with PHP7 (7.x) Support and many installed modules and themes (see below).
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
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.
- director
- graphite
- genericTTS
- businessprocess
- elasticsearch
- cube
- aws
- fileshipper
- grafana
- globe
- map
- boxydash
- toplevelview
- vspheredb
- x509
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.
After deleting a vcenter, fragments of VMs, datastores, etc. remain in the database and can still be displayed.
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!
- unicorn
- lsd
- april
- company
- batman
- batman-dark
- nordlicht
- spring
- dark
- beyondthepines
- always-green
- colourblind
- particles
You can find the Container also at DockerHub
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. |
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 |
Please read more at the official Icingaweb2 Doku.
The environment variables for LDAP can be configured for 2 different reasons.:
LDAP_AD
(default:false
) is the LDAP server an Active DirectoryLDAP_SERVER
(default:-
) the LDAP serverLDAP_PORT
(default:389
) the LDAP PortLDAP_BIND_DN
(default:-
) LDAP Bind DNLDAP_BIND_PASSWORD
(default:-
) Bind PasswordLDAP_BASE_DN
(default:-
) Base DNLDAP_FILTER
(default:-
) LDAP filterLDAP_ROLE_GROUPS
(default:-
) LDAP groupsLDAP_ROLE_PERMISSIONS
(default:*
) LDAP group permissions
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}"
}
}