3 Commits
0.2 ... 0.5

2 changed files with 42 additions and 17 deletions

View File

@@ -1,14 +1,17 @@
FROM ubuntu:18.04 FROM debian:10-slim
RUN apt-get update && apt-get upgrade -y && apt-get install wget gnupg expect -y && \ RUN apt-get update && apt-get install wget gnupg -y && \
wget -O - https://packages.icinga.com/icinga.key | apt-key add - printf "deb http://packages.icinga.com/debian icinga-buster main\ndeb-src http://packages.icinga.com/debian icinga-buster main" > /etc/apt/sources.list.d/icinga2.list && \
RUN printf "deb http://packages.icinga.com/ubuntu icinga-bionic main\ndeb-src http://packages.icinga.com/ubuntu icinga-bionic main" > /etc/apt/sources.list.d/icinga2.list && \ wget -O - https://packages.icinga.com/icinga.key | apt-key add - && \
apt-get update && apt-get install icinga2 -y && \ apt-get update && apt-get --no-install-recommends install icinga2 monitoring-plugins tzdata -y && \
mkdir /run/icinga2 && chown nagios:nagios /run/icinga2 && \ mkdir /run/icinga2 && chown nagios:nagios /run/icinga2 && \
mkdir -p /var/lib/icinga2/certs && \ mkdir -p /var/lib/icinga2/certs && \
chown -R nagios:nagios /var/lib/icinga2/certs chown -R nagios:nagios /var/lib/icinga2/certs && \
apt-get remove -y wget gnupg && \
apt-get autoremove -y && \
apt-get clean
COPY create-satellite.sh /create-satellite.sh COPY create-satellite.sh /create-satellite.sh
COPY run-icinga.sh /run-icinga.sh COPY run-icinga.sh /run-icinga.sh
RUN chmod +x /create-satellite.sh ; chmod +x /run-icinga.sh RUN chmod +x /create-satellite.sh ; chmod +x /run-icinga.sh
EXPOSE 5665
ENTRYPOINT ["/run-icinga.sh"] ENTRYPOINT ["/run-icinga.sh"]

View File

@@ -1,10 +1,40 @@
# icinga-satellite # icinga-satellite
An easy-to-use Dockerized Icinga2 satellite setup. It could be used as an An easy-to-use Dockerized Icinga2 satellite setup. It could be used as an
Icinga2 agent aswell, but I don't think that would make much sense. The goal Icinga2 agent aswell, but I don't think that would make much sense. The goal
is instead to create an easy-to-deploy satellite Docker. is instead to create an easy-to-deploy satellite image.
![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/jackbenny/icinga-satellite?sort=date)
![Docker Pulls](https://img.shields.io/docker/pulls/jackbenny/icinga-satellite)
![Docker Stars](https://img.shields.io/docker/stars/jackbenny/icinga-satellite)
![Docker Cloud Automated build](https://img.shields.io/docker/cloud/automated/jackbenny/icinga-satellite)
![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/jackbenny/icinga-satellite)
## Tags and their respective Dockerfile
### Main tags
* [0.5, latest](https://github.com/jackbenny/icinga-satellite/blob/master/Dockerfile)
* [0.4](https://github.com/jackbenny/icinga-satellite/blob/0.4/Dockerfile)
* [0.3](https://github.com/jackbenny/icinga-satellite/blob/0.3/Dockerfile)
* [0.2](https://github.com/jackbenny/icinga-satellite/blob/0.2/Dockerfile)
* [0.1](https://github.com/jackbenny/icinga-satellite/blob/0.1/Dockerfile)
### Alpine tags (currently has some problems)
* [0.1.1-alpine](https://github.com/jackbenny/icinga-satellite/blob/0.1.1-alpine/Dockerfile)
* [0.1-alpine](https://github.com/jackbenny/icinga-satellite/blob/0.1-alpine/Dockerfile)
> **NOTE:** Currently there are some problems with the Alpine image.
> Use the *main images* instead, tagged *0.n*.
There are two available images for you to choose from. The main images (0.*n*) are based on
Debian 10-slim from tag 0.5 and up. Previous to 0.5 they were based on Ubuntu 18.04.
The main images uses Icinga2 from Icingas official repository.
The other images (0.*n*-alpine) are based on Alpine with Icinga2 from Alpines repository.
From 0.1.1-alpine and up, the Alpine images are built on the latest Alpine image. Previous to
0.1.1 they were based on Alpine 3.11.
## Environment variables ## Environment variables
Everything is controlled using the follwing environment variables. Everything is controlled using the following environment variables.
* **CN** is the Common Name of the satellite * **CN** is the Common Name of the satellite
* **ZONE** is the zone in which this satellite should be in. If no zone is specified * **ZONE** is the zone in which this satellite should be in. If no zone is specified
@@ -60,12 +90,4 @@ services:
- LOCAL_TIMEZONE=Europe/Stockholm - LOCAL_TIMEZONE=Europe/Stockholm
``` ```
## Images
> **NOTE:** Currently there are some problems with the Alpine image. Use the main image
> instead, tagged *0.n*.
There are two available images for you to choose from. The default one (0.*n*) is based on
Ubuntu 18.04, with Icinga2 from Icingas official repository. The other image (0.*n*-alpine) is
based on Alpine 3.11, with Icinga2 from Alpines repository. From 0.1.1-alpine and up, the Alpine
image is built on the latest Alpine. The Alpine image is much smaller in size.