first commit

This commit is contained in:
duffyduck
2026-08-20 10:33:59 +02:00
commit 75fba0229a
14 changed files with 3076 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# =====================================================================
# Beispiel-Unit (wird von install.sh --with-systemd automatisch
# mit den korrekten Pfaden erzeugt und nach
# /etc/systemd/system/checkmk-stack.service geschrieben).
#
# Manuell:
# cp systemd/checkmk-stack.service.example \
# /etc/systemd/system/checkmk-stack.service
# # Pfade und Compose-Kommando anpassen
# systemctl daemon-reload && systemctl enable --now checkmk-stack
# =====================================================================
[Unit]
Description=Checkmk + NGINX Proxy Manager (Container-Stack)
Wants=network-online.target
After=network-online.target
# Nur bei Docker zusaetzlich:
#Requires=docker.service
#After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/checkmk-stack
EnvironmentFile=/opt/checkmk-stack/.env
TimeoutStartSec=0
# Docker: /usr/bin/docker compose up -d
# Podman: /usr/bin/podman-compose up -d
ExecStart=/bin/sh -c '/usr/bin/podman-compose up -d'
ExecStartPost=/opt/checkmk-stack/scripts/cmk-manage.sh start-all-sites
ExecStop=/bin/sh -c '/usr/bin/podman-compose down'
[Install]
WantedBy=multi-user.target
+30
View File
@@ -0,0 +1,30 @@
# =====================================================================
# Podman Quadlet Unit - Checkmk
# Ziel: /etc/containers/systemd/checkmk.container
# Wird von install.sh --quadlet mit den Werten aus der .env befuellt.
# Danach: systemctl daemon-reload && systemctl start checkmk
# Der Autostart nach einem Reboot ergibt sich aus [Install].
# =====================================================================
[Unit]
Description=Checkmk (OMD) im Container
Wants=network-online.target
After=network-online.target
[Container]
ContainerName=__CMK_CONTAINER_NAME__
Image=docker.io/__CMK_IMAGE__
Network=host
EnvironmentFile=__PROJECT_DIR__/.env
Environment=CMK_SITE_ID=__CMK_SITE_ID__
Volume=__PROJECT_DIR__/data/checkmk/sites:/omd/sites:Z
Volume=/etc/localtime:/etc/localtime:ro
PodmanArgs=--ulimit nofile=65536:65536
[Service]
Restart=always
TimeoutStartSec=300
# Alle vorhandenen Sites starten (der Entrypoint startet nur CMK_SITE_ID)
ExecStartPost=/bin/sh -c 'sleep 20; __PROJECT_DIR__/scripts/cmk-manage.sh start-all-sites || true'
[Install]
WantedBy=multi-user.target default.target
@@ -0,0 +1,24 @@
# =====================================================================
# Podman Quadlet Unit - NGINX Proxy Manager
# Ziel: /etc/containers/systemd/nginx-proxy-manager.container
# =====================================================================
[Unit]
Description=NGINX Proxy Manager (HTTPS-Terminierung fuer Checkmk)
Wants=network-online.target
After=network-online.target checkmk.service
[Container]
ContainerName=__NPM_CONTAINER_NAME__
Image=docker.io/__NPM_IMAGE__
Network=host
EnvironmentFile=__PROJECT_DIR__/.env
Environment=DISABLE_IPV6=true
Volume=__PROJECT_DIR__/data/npm/data:/data:Z
Volume=__PROJECT_DIR__/data/npm/letsencrypt:/etc/letsencrypt:Z
[Service]
Restart=always
TimeoutStartSec=180
[Install]
WantedBy=multi-user.target default.target