18 Commits
v2.1.0 ... main

Author SHA1 Message Date
Daan Selen
9ab86d9e89 chore: fix name 2025-12-05 05:38:00 -06:00
Daan Selen
923b65c1e4 fix: workflow for Systemec use 2025-12-05 05:36:32 -06:00
Daan Selen
77016209c1 Merge remote-tracking branch 'github-fork/feat-debian-rebase' 2025-12-05 05:29:32 -06:00
e64f6724ab chore: add triggers 2025-10-31 14:12:35 +01:00
46fc633d88 chore: revert image name to paessler 2025-10-31 14:11:43 +01:00
573c54f5e2 Squashed commit of the following:
commit fbdc7b08d91f1cce58f3a25f7438612e09d24bbd
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 13:25:46 2025 +0100

    fix: logic for github attestant

commit 5db2220ff97ebd41b44328d89f9f593f174d8632
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 13:17:54 2025 +0100

    chore: add registry prefix

commit 238598047289776d13014739b020d5a5f0e3f182
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 13:10:25 2025 +0100

    revert: if condition

commit d5906aa4c1ddbe4ce0ab371b697a4935568b0307
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 13:08:53 2025 +0100

    feat: try through computing

commit af7759c24ee24e75be8eff259943192131c86190
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:55:10 2025 +0100

    comment: i am getting sloppy

commit ff57fd9f368bd1d266b16caa076f6055ffdd45ad
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:54:49 2025 +0100

    chore: indent fix

commit 7ece71e954b8d664d21d85ff66b11858b44ee7bf
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:54:12 2025 +0100

    chore: expand workflow but share certain actions

commit 5045ca884f025652f7953acd56dfd5a0ea81967c
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:51:51 2025 +0100

    chore: wrap in quotes

commit b2bd34b0843b7143e23109bfcc9535364efaef20
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:51:16 2025 +0100

    chore: simplify syntax

commit 57d440b286d873a7b8410ac811185be6865e6a66
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:50:19 2025 +0100

    fix: syntax

commit 370ddbb2e05231a6abeb8a2cf8f665681c378bc7
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:49:10 2025 +0100

    fix: logic syntax

commit eb1f6259c26294b82e4aa75ee8a9d77c24d36e1d
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:39:31 2025 +0100

    fix: syntax

commit 48f088b8b110f2db65cec6a2d21ec0e4bc0ae27a
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:36:26 2025 +0100

    chore: try to push with personal account

commit 5052a07164fa3c98c2e8a5a20e4b7290ecd88a22
Author: DaanSelen <dselen@systemec.nl>
Date:   Fri Oct 31 12:35:02 2025 +0100

    chore: rework trigger per variant
2025-10-31 14:10:06 +01:00
8abf3edfcd feat: rewrite workflow 2025-10-31 12:31:25 +01:00
16a7bea45c feat: rebase to Debian 13 with fallback to bookworm repos 2025-10-31 12:11:10 +01:00
Flow86
baa179a41c Merge pull request #8 from PaesslerAG/Flow86-patch-1
fix: allow more parameters to be passed through
2025-05-27 09:00:40 +02:00
Flow86
91a2187ec1 fix: allow more parameters to be passed through
allow short form of --help (-h) and also --version (-V) to be directly used
2025-05-26 11:43:02 +02:00
Flow86
b54bc94716 Merge pull request #7 from PaesslerAG/docu/manual-link
docs: update manual link
2025-04-16 06:55:54 +02:00
Florian Dörsch
44749872c3 docs: update manual link 2025-04-15 07:35:57 +02:00
Benjamin Kästner
b04fc33694 Merge pull request #6 from PaesslerAG/Flow86-patch-1
ci: delete .github/workflows/dockerhub-description.yml
2025-03-18 15:24:19 +01:00
Flow86
198cc27854 ci: delete .github/workflows/dockerhub-description.yml
The job is not used anyway
2025-03-18 14:09:02 +01:00
Benjamin Kästner
94519a402f Merge pull request #4 from PaesslerAG/Flow86-patch-1
docs: fix wrong local volume paths for docker volumes
2024-12-05 15:23:34 +01:00
Flow86
546ee7af5e docs: fix wrong local volume paths for docker volumes
docker expects to have absolute paths for local volume definitions
2024-11-25 10:14:39 +01:00
Flow86
dfdc14a586 Merge pull request #3 from PaesslerAG/fix/entrypoint_service_run_2
fix: broken conditions in run script
2024-10-10 14:22:09 +02:00
Florian Dörsch
8bb3d9b08b fix: broken conditions in run script 2024-10-09 08:32:18 +02:00
7 changed files with 111 additions and 52 deletions

85
.github/workflows/docker-build.yml vendored Normal file
View File

@@ -0,0 +1,85 @@
# See https://docs.github.com/en/actions/publishing-packages/publishing-docker-images
name: Build and push # to docker registries
on:
workflow_dispatch:
push:
branches:
- "main"
tags:
- "*"
release:
types: [published]
env:
IMAGE_NAME: prtgprobe/multi-platform-probe
jobs:
docker_build:
name: Build and push
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
attestations: write
id-token: write
strategy:
fail-fast: false
matrix:
variant:
- name: systemec_piraeus
registry: "piraeus.systemec.nl"
steps:
- name: Set image for Docker
id: set-image
run: |
if [ "${{ matrix.variant.name }}" == "systemec_piraeus" ]; then
echo "IMAGE_TO_USE=${IMAGE_NAME}" >> $GITHUB_ENV
else
echo "Failing to resolve."
exit 1
fi
- name: Check out the repository
uses: actions/checkout@v5
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: |
- linux/amd64
- linux/arm64
- linux/arm/v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Systemec Piraeus
if: matrix.variant.name == 'systemec_piraeus'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PUSH_TOKEN }}
registry: ${{ matrix.variant.registry }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ matrix.variant.registry }}/${{ env.IMAGE_TO_USE }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,format=short,prefix=
- name: Build and push Docker image
id: push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: linux/amd64,linux/arm64,linux/arm/v7

View File

@@ -1,30 +0,0 @@
# https://github.com/peter-evans/dockerhub-description
name: Update Docker Hub Description
on:
push:
branches:
- main
paths:
- README.md
- .github/workflows/dockerhub-description.yml
env:
IMAGE_NAME: paessler/multi-platform-probe
jobs:
update-description:
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v4
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PUSH_TOKEN }}
repository: ${{ env.IMAGE_NAME }}
short-description: ${{ github.event.repository.description }}
enable-url-completion: true

View File

@@ -3,8 +3,8 @@
name: Push to Docker Hub
on:
release:
types: [published]
# release:
# types: [published]
env:
IMAGE_NAME: paessler/multi-platform-probe

View File

@@ -3,9 +3,9 @@
name: Push to GitHub
on:
push:
branches: ["main"]
tags: ["*"]
# push:
# branches: ["main"]
# tags: ["*"]
env:
REGISTRY: ghcr.io

View File

@@ -1,10 +1,11 @@
FROM debian:11-slim
FROM debian:13-slim
LABEL org.opencontainers.image.authors="info@paessler.com"
LABEL org.opencontainers.image.vendor="Paessler GmbH"
LABEL org.opencontainers.image.licenses="MIT"
ARG DEBIAN_FRONTEND=noninteractive
ARG DEBIAN_FB_RELEASE=bookworm
# enforce image to be up to date
RUN \
@@ -21,7 +22,7 @@ RUN \
# - libcap2-bin (for setcap command)
#
RUN \
apt-get update \
apt-get update && apt-get full-upgrade \
&& apt-get -y install --no-install-recommends --no-install-suggests \
ca-certificates \
python3-minimal \
@@ -29,13 +30,15 @@ RUN \
libcap2-bin \
&& apt-get clean
# add paessler's official package repository
# Add Paessler's official package repository with current release specifications.
# If the current release is not present on Paessler's servers fallback to defined fallback release.
RUN \
apt-get update \
apt-get -qq update \
&& apt-get -y install --no-install-recommends --no-install-suggests \
curl \
&& curl --fail --silent https://packages.paessler.com/keys/paessler.asc > /usr/share/keyrings/paessler-archive-keyring.asc \
&& curl --fail --silent https://packages.paessler.com/docs/apt-sources/$(. /etc/os-release && echo $VERSION_CODENAME).sources > /etc/apt/sources.list.d/paessler.sources \
&& curl --fail https://packages.paessler.com/keys/paessler.asc > /usr/share/keyrings/paessler-archive-keyring.asc \
&& curl --fail https://packages.paessler.com/docs/apt-sources/$(. /etc/os-release && $VERSION_CODENAME).sources \
|| curl --fail https://packages.paessler.com/docs/apt-sources/${DEBIAN_FB_RELEASE}.sources > /etc/apt/sources.list.d/paessler.sources \
&& apt-get -y remove --purge curl \
&& apt-get clean
@@ -44,10 +47,11 @@ RUN \
apt-get update \
&& apt-get -y install --no-install-recommends --no-install-suggests \
prtgmpprobe \
&& apt-get autoremove -y \
&& apt-get clean
# add entrypoint script
COPY --chown=root:root --chmod=0555 run-prtgmpprobe.sh /run-prtgmpprobe.sh
COPY --chown=root:root --chmod=0555 run-prtgmpprobe.sh /entrypoint.sh
# specify volumes:
# - /config : configuration directory for the prtgmpprobe, put your config.yml here.
@@ -57,5 +61,5 @@ VOLUME [ "/config", "/opt/paessler/share/scripts" ]
# set WORKDIR to a sane default
WORKDIR /
ENTRYPOINT [ "/run-prtgmpprobe.sh" ]
CMD [ "service-run" ]
ENTRYPOINT [ "/entrypoint.sh" ]
CMD [ "service-run" ]

View File

@@ -17,7 +17,7 @@ We recommend that you always update to the latest version of PRTG via the Auto-U
Requires a [NATS server](#install-and-configure-a-nats-server) connection configured in PRTG.
[prtg-96]: https://www.paessler.com/prtg/history/stable#24.2.96.1315
[manual]: https://paessler.canto.global/direct/document/qvou34dmut1uh0gg6mqee3ip2k/K-e9xGiEiT58XzlH3s_Nf-B3lVk/original?content-type=application%2Fpdf&name=Multi-Platform+Probe+Manual.pdf
[manual]: https://manuals.paessler.com/multiplatformprobemanual.pdf
## How to use the multi-platform probe container
@@ -37,7 +37,7 @@ Paessler GmbH provides the **NATS Server for Paessler PRTG** Windows installer t
* Configures the NATS server.
* Installs and starts the NATS server service in the background.
For the installer and step-by-step instructions on how to set up a NATS server on Windows, see section **Step 1: Install a NATS server** in the [Multi-Platform Probe for PRTG (PDF)][manual] manual.
For the installer and step-by-step instructions on how to set up a NATS server on Windows, see section **Step 1: Install a NATS server** in the [Multi-Platform Probe for PRTG][manual] manual.
If you want to deploy your NATS server on a non-Windows system, see the NATS documentation on their website.
@@ -46,7 +46,7 @@ For the installer and step-by-step instructions on how to set up a NATS server o
Once you set up your NATS server, you must configure PRTG to accept connections to the NATS server.
This is done from the PRTG web interface via **Setup** | **Cores & Probes** | **[Multi-Platform Probe Connection Settings][prtg-manual:cores]**.
For step-by-step instructions on how to configure PRTG, see section **Step 2: Configure connection in PRTG** in the [Multi-Platform Probe for PRTG (PDF)][manual] manual.
For step-by-step instructions on how to configure PRTG, see section **Step 2: Configure connection in PRTG** in the [Multi-Platform Probe for PRTG][manual] manual.
[prtg-manual:cores]: https://www.paessler.com/manuals/prtg/core_and_probes#multi_platform_probe_connection
@@ -91,8 +91,8 @@ You can also use the `/opt/paessler/share/scripts` volume for the scripts of the
```sh
docker run -it \
--network bridge \
-v ./scripts:/opt/paessler/share/scripts:ro \
-v ./config:/config \
-v $(pwd)/scripts:/opt/paessler/share/scripts:ro \
-v $(pwd)/config:/config \
--cap-add NET_ADMIN \
--cap-add NET_RAW \
paessler/multi-platform-probe:latest

View File

@@ -13,12 +13,12 @@ _passthrough=0
for _arg in "$@"
do
case "$_arg" in
--help|example-config)
-h|--help|example-config|-V|--version)
_passthrough=1
;;
esac
done
if [ $_passthrough -neq 0 ] ; then
if [ $_passthrough -ne 0 ] ; then
exec gosu paessler_mpprobe:paessler_mpprobe \
${PRTGMPPROBE__BINARY} \
"$@"
@@ -51,7 +51,7 @@ if [ ! -f "${PRTGMPPROBE__CONFIG_FILE}" ] ; then
fi
# Get/Generate a probe id from PRTGMPPROBE__ID_FILE or from PRTGMPPROBE__ID if not set in PRTGMPPROBE__CONFIG_FILE
if [ ! grep -q "^id:" "${PRTGMPPROBE__CONFIG_FILE}" ] ; then
if ! grep -q "^id:" "${PRTGMPPROBE__CONFIG_FILE}" ; then
if [ -z "${PRTGMPPROBE__ID-}" ] ; then
if [ ! -f "${PRTGMPPROBE__ID_FILE}" ] ; then
cat /proc/sys/kernel/random/uuid > ${PRTGMPPROBE__ID_FILE} || (