Trying icinga2 and icingaweb2 with Docker

In case you ever wanted to look at Icinga2, even into distributed features, without messing with installing whole server setups, this might interesting for you.

At first, you need to have a running Docker on your system. For more information, have a look into my previous post!

Initiating Docker images

$ git clone && \
  cd docker-icinga2
$ make temp
$ make grab
$ make prod

Setting IcingaWeb2 password

(Or using the default one)

$ make enter
docker exec -i -t `cat cid` /bin/bash
root@ce705e592611:/# openssl passwd -1 f00b4r
root@ce705e592611:/# mysql -h mysql icingaweb2 -p -e \
  "UPDATE icingaweb_user SET password_hash='$1$jgAqBcIm$aQxyTPIniE1hx4VtIsWvt/' WHERE name='icingaadmin';"
Enter password:
root@ce705e592611:/# exit

Setting Icinga Classic UI password

$ make enter
docker exec -i -t `cat cid` /bin/bash
root@ce705e592611:/# htpasswd /etc/icinga2-classicui/htpasswd.users icingaadmin
New password: 
Re-type new password: 
Adding password for user icingaadmin
root@ce705e592611:/# exit

Cleaning things up and making permanent

$ docker stop icinga2 && docker stop icinga2-mysql
$ cp -a /tmp/datadir ~/docker-icinga2.datadir
$ echo "~/docker-icinga2.datadir" > ./DATADIR
$ docker start icinga2-mysql && rm cid && docker rm icinga2 && \
  make runprod
chmod 777 /tmp/tmp.08c34zjRMpDOCKERTMP

Now you should be able to access the IcingaWeb2 web interface on http://localhost:4080/icingaweb2 and the Icinga Classic UI web interface at http://localhost:4080/icinga2-classicui.

For further information about this Docker setup please consult the documentation written by Joshua Cox who has worked on this project. For information about Icinga2 itself, please have a look into the Icinga2 Documentation.