update some informations after create full stack
This commit is contained in:
44
README.md
44
README.md
@@ -1,21 +1,29 @@
|
||||
# Docker IcingaWeb2
|
||||
[](https://git.ao-it.net/docker/icingaweb2/actions?workflow=docker-build.yml&actor=0&status=0)
|
||||
|
||||
Designed with [https://git.ao-it.net/docker/icinga2](https://git.ao-it.net/docker/icinga2)
|
||||
If you need a full stack:
|
||||
* [AO-IT: icinga-stack](https://git.ao-it.net/docker/icinga-stack)
|
||||
* [AO-IT: icinga2](https://git.ao-it.net/docker/icinga2)
|
||||
|
||||
## quick start
|
||||
Or a additional satellite:
|
||||
* [AO-IT: icinga-satellite](https://git.ao-it.net/docker/icinga-satellite)
|
||||
|
||||
|
||||
## usage
|
||||
If you have a functional icinga2 instance only without icingaweb2:
|
||||
```bash
|
||||
git clone https://git.ao-it.net/docker/icingaweb2
|
||||
cd icingaweb2
|
||||
cp env.sample .env
|
||||
nano .env # edit your settings
|
||||
# must edit: GRAFANA_HOST with local IP or FQDN
|
||||
nano .env # edit your env
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
For a full deployment see: [comming soon ...]()
|
||||
|
||||
If you run the setup without any environment vars the setup token will be printet in docker log!
|
||||
Hints:
|
||||
* If you run the setup without any environment vars the setup token will be printet in docker log!
|
||||
* If you deploy IcingaDB ENV but it can't be reach, icingaweb looks like broken but it isn't
|
||||
* You can remove the environment var `ICINGAWEB2_CONF_ONCE` whan will changes in `compose.yml` environment deploy every time if the container starts.
|
||||
* You can use this for future config changes, but this isn't good tested and i am not sure i will recommend this...
|
||||
|
||||
## understand environment
|
||||
For the configuration (primarily the initial setup) I use a similar method as: https://hub.docker.com/r/icinga/icingaweb2
|
||||
@@ -77,7 +85,7 @@ Vars for the container have the `2`
|
||||
|
||||
## example
|
||||
See [compose.yml](compose.yml).
|
||||
This is for environment priview
|
||||
This is for environment priview (minimal setup)
|
||||
```yaml
|
||||
services:
|
||||
icingaweb2:
|
||||
@@ -96,13 +104,6 @@ services:
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__username=${ICINGAWEB_DB_USER:-icingaweb}
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__password=${ICINGAWEB_DB_PASS:-icingaweb}
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}__charset=utf8mb4
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__type=db
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__db=mysql
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__host=${ICINGA_DB_HOST:-db_icinga}
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__dbname=${ICINGA_DB:-icingadb}
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__username=${ICINGA_DB_USER:-icingadb}
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__password=${ICINGA_DB_PASS:-icingadb}
|
||||
- ICINGAWEB2_RESOURCES__${ICINGAWDB_RESOURCE_NAME:-icingadb}__charset=utf8mb4
|
||||
- ICINGAWEB2_AUTH__icingaweb2__backend=db
|
||||
- ICINGAWEB2_AUTH__icingaweb2__resource=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
||||
- ICINGAWEB2_GROUPS__icingaweb2__backend=db
|
||||
@@ -110,14 +111,6 @@ services:
|
||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__groups=${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}
|
||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__permissions="*"
|
||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||
- ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
|
||||
- ICINGAWEB2_ICINGADB_REDIS__redis1__host=redis
|
||||
- ICINGAWEB2_ICINGADB_REDIS__redis1__port=6379
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__transport=api
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__host=icinga2
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__port=5665
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__username=icingaweb
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__password=icingaweb
|
||||
- ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
||||
- ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||
- ICINGAWEB2_DEFAULT_ADMIN_PASS=${ICINGAWEB_DEFAULT_ADMIN_PASS:-icingaadmin}
|
||||
@@ -133,11 +126,6 @@ services:
|
||||
- ICINGAWEB2_GRAFANA_GRAPH__check_command__panelId=
|
||||
```
|
||||
|
||||
You can remove the environment var `ICINGAWEB2_CONF_ONCE` whan will changes in `compose.yml` environment deploy every time if the container starts.
|
||||
You can use this for future config changes, but this isn't tested and i am not sure i will recommend this...
|
||||
For now be save and use it only for inital setup.
|
||||
|
||||
|
||||
## Sources
|
||||
### Icingaweb2
|
||||
* [Install Icinga Web 2](https://icinga.com/docs/icinga-web/latest/doc/02-Installation/01-Debian/)
|
||||
|
||||
28
compose.yml
28
compose.yml
@@ -1,4 +1,5 @@
|
||||
services:
|
||||
##### ICINGAWEB2 #####
|
||||
icingaweb2:
|
||||
image: git.ao-it.net/docker/icingaweb2:latest
|
||||
hostname: icingaweb2
|
||||
@@ -12,6 +13,7 @@ services:
|
||||
networks:
|
||||
- icinga
|
||||
environment:
|
||||
- ICINGAWEB2_CONF_ONCE=true
|
||||
## icingaweb2 general
|
||||
- ICINGAWEB2_DB_RESOURCE_NAME=${ICINGAWEB_DB_RESOURCE_NAME:-icingaweb_db}
|
||||
- ICINGAWEB2_DEFAULT_ADMIN_USER=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||
@@ -51,16 +53,16 @@ services:
|
||||
- ICINGAWEB2_ROLES__${ICINGAWEB_DEFAULT_ADMIN_ROLE:-Administrators}__users=${ICINGAWEB_DEFAULT_ADMIN_USER:-icingaadmin}
|
||||
## module: icingadb
|
||||
### icingadb: conf.ini
|
||||
#- ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
|
||||
- ICINGAWEB2_ICINGADB_CONF__icingadb__resource=icingadb
|
||||
### icingadb: redis.ini
|
||||
#- ICINGAWEB2_ICINGADB_REDIS__redis1__host=${ICINGADB_REDIS_HOST:-redis}
|
||||
#- ICINGAWEB2_ICINGADB_REDIS__redis1__port=${ICINGADB_REDIS_PORT:-6379}
|
||||
- ICINGAWEB2_ICINGADB_REDIS__redis1__host=${ICINGADB_REDIS_HOST:-db_redis}
|
||||
- ICINGAWEB2_ICINGADB_REDIS__redis1__port=${ICINGADB_REDIS_PORT:-6379}
|
||||
### icingadb: commandtransports.ini
|
||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__transport=${ICINGADB_CMD_TYPE:-api}
|
||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__host=${ICINGA_API_HOST:-icinga2}
|
||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__port=${ICINGA_API_PORT:-5665}
|
||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__username=${ICINGA_API_ICINGAWEB_USER:-icingaweb}
|
||||
#- ICINGAWEB2_ICINGADB_CMD__icinga2__password=${ICINGA_API_ICINGAWEB_PASS:-icingaweb}
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__transport=${ICINGADB_CMD_TYPE:-api}
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__host=${ICINGA_API_HOST:-icinga2}
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__port=${ICINGA_API_PORT:-5665}
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__username=${ICINGA_API_ICINGAWEB_USER:-icingaweb2}
|
||||
- ICINGAWEB2_ICINGADB_CMD__icinga2__password=${ICINGA_API_ICINGAWEB_PASS:-icingaweb}
|
||||
## module: grafana
|
||||
### grafana: conf.ini
|
||||
- ICINGAWEB2_GRAFANA_CONF__grafana__host=${GRAFANA_HOST:-grafana}:${GRAFANA_PORT:-3000}
|
||||
@@ -92,7 +94,6 @@ services:
|
||||
depends_on:
|
||||
- icingaweb2
|
||||
restart: always
|
||||
#user: '0'
|
||||
ports:
|
||||
- ${GRAFANA_PORT:-3000}:3000
|
||||
networks:
|
||||
@@ -105,17 +106,18 @@ services:
|
||||
## required configs
|
||||
GF_AUTH_ANONYMOUS_ENABLED: true
|
||||
GF_SECURITY_ALLOW_EMBEDDING: true
|
||||
#GF_AUTH_ANONYMOUS_ORG_NAME: Main Org.
|
||||
GF_AUTH_ANONYMOUS_ORG_ROLE: Viewer
|
||||
GF_AUTH_ANONYMOUS_HIDE_VERSION: true
|
||||
## user settings
|
||||
GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:-grafanaadmin}
|
||||
GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASS:-grafanaadmin}
|
||||
## default data source
|
||||
GRAFANA_DEFAULT_SOURCE_NAME: ${ICINGA_INFLUX_HOST:-influxdb}
|
||||
GRAFANA_DEFAULT_SOURCE_UID: ${ICINGA_INFLUX_HOST:-influxdb}
|
||||
GRAFANA_DEFAULT_SOURCE_USER: ${ICINGA_INFLUX_USER:-icinga}
|
||||
GRAFANA_DEFAULT_SOURCE_NAME: ${ICINGA_INFLUX_HOST:-db_influxdb}
|
||||
GRAFANA_DEFAULT_SOURCE_UID: ${ICINGA_INFLUX_HOST:-db_influxdb}
|
||||
GRAFANA_DEFAULT_SOURCE_DB: ${ICINGA_INFLUX_DB:-icinga}
|
||||
GRAFANA_DEFAULT_SOURCE_HOST: ${ICINGA_INFLUX_HOST:-db_influxdb}
|
||||
GRAFANA_DEFAULT_SOURCE_PORT: ${ICINGA_INFLUX_PORT:-8086}
|
||||
GRAFANA_DEFAULT_SOURCE_USER: ${ICINGA_INFLUX_USER:-icinga}
|
||||
GRAFANA_DEFAULT_SOURCE_PASS: ${ICINGA_INFLUX_PASS:-icinga}
|
||||
## default dashboard
|
||||
GRAFANA_DEFAULT_DASHBOARD_NAME: ${GRAFANA_DASHBOARD_NAME:-icinga2-default}
|
||||
|
||||
@@ -31,9 +31,9 @@ ICINGA_API_ICINGAWEB_USER=icingaweb
|
||||
ICINGA_API_ICINGAWEB_PASS=icingaweb
|
||||
|
||||
## grafana settings
|
||||
### must be change else you dont have graphs
|
||||
### must be a network address what your client can reach
|
||||
GRAFANA_HOST=$(hostname -I | awk '{print $1}') # set first ip of system, can be wrong!
|
||||
#> GRAFANA_HOST must be change else you dont have graphs
|
||||
#> GRAFANA_HOST must be a network address what your client can reach
|
||||
GRAFANA_HOST='' # to get ip: $(hostname -I | awk '{print $1}') # sets first ip of system, can be wrong!
|
||||
GRAFANA_PORT=3000
|
||||
GRAFANA_DASHBOARD_NAME=icinga2-default
|
||||
GRAFANA_DASHBOARD_UID=icinga2-default
|
||||
|
||||
@@ -6,7 +6,8 @@ datasources:
|
||||
uid: $GRAFANA_DEFAULT_SOURCE_UID
|
||||
access: proxy
|
||||
user: $GRAFANA_DEFAULT_SOURCE_USER
|
||||
url: http://influxdb:8086
|
||||
url: http://$GRAFANA_DEFAULT_SOURCE_HOST:$GRAFANA_DEFAULT_SOURCE_PORT
|
||||
isDefault: true
|
||||
jsonData:
|
||||
dbName: $GRAFANA_DEFAULT_SOURCE_DB
|
||||
httpMode: GET
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
{
|
||||
"name": "DS_ICINGA2",
|
||||
"label": "Icinga2",
|
||||
"value": "db_influxdb",
|
||||
"description": "",
|
||||
"type": "datasource",
|
||||
"pluginId": "influxdb",
|
||||
@@ -80,7 +81,7 @@
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": "influxdb",
|
||||
"datasource": "db_influxdb",
|
||||
"fill": 1,
|
||||
"id": 1,
|
||||
"legend": {
|
||||
@@ -302,6 +303,6 @@
|
||||
},
|
||||
"timezone": "",
|
||||
"title": "icinga2-default",
|
||||
"uid": "icinga-default",
|
||||
"uid": "icinga2-default",
|
||||
"version": 3
|
||||
}
|
||||
Reference in New Issue
Block a user