Compare commits

..

18 Commits

Author SHA1 Message Date
Marks Sunins
d12d9d799f
feat: set php mysqli socket to user provided value 2025-07-18 08:51:58 +00:00
Marks Sunins
705bb9f431
feat: set php mysqli socket to user provided value 2025-07-18 08:51:54 +00:00
Marks Sunins
d217c2924d
refactor: unify mysql_connect_args in web-frontend
- Refactored mysql_connect_args to be set under a single condition
2025-07-18 08:51:41 +00:00
Marks Sunins
494244d5b3 refactor: unify mysql_connect_args condition logic
- Refactored mysql_connect_args to be set under a single condition
2025-07-18 15:26:12 +09:00
Alexey Pustovalov
e654839431 Updated supported versions and removed old versions documentation 2025-07-18 13:43:21 +09:00
Alexey Pustovalov
5683dcda4a Updated version for trunk / master 2025-07-18 13:41:45 +09:00
Marks Sunins
6aee772cec fix: test ENV existence before exporting to config
- test `DB_SERVER_SOCKET` before set `ZBX_DB_SOCKET`
- test `DB_SERVER_HOST` before set `ZBX_DB_HOST`
- test `DB_SERVER_PORT` before set `ZBX_DB_PORT`
- remove trailing spaces in `docker-entrypoint.sh` files
2025-07-18 13:12:57 +09:00
Alexey Pustovalov
0c2860d7d8 Fixed temporary filesystem required for Chrome 2025-07-17 19:59:38 +09:00
Alexey Pustovalov
b05f3943f4 Fixed PostgreSQL 17 on Ubuntu images 2025-07-17 10:58:22 +09:00
Alexey Pustovalov
55584047fa Fixed PostgreSQL 17 on Ubuntu images 2025-07-17 00:10:22 +09:00
Alexey Pustovalov
a4efde727f Fixed PostgreSQL 17 on Ubuntu images 2025-07-16 11:17:46 +09:00
Alexey Pustovalov
9ed71c8c52 Removed orphaned *.pyc files from Ubuntu images 2025-07-15 18:04:47 +09:00
Alexey Pustovalov
68d2c9a557 Fixed PostgreSQL 17 on Ubuntu images 2025-07-15 15:47:28 +09:00
Alexey Pustovalov
6cc64e64ee Fixed maintenance message for Web-interface 2025-07-14 19:16:37 +09:00
Alexey Pustovalov
6eb67d67d1 Fixed package names for CentOS based images + removed LTSC2025 2025-07-08 14:26:34 +09:00
Alexey Pustovalov
e0f77c4380 Added correct resolving for source IP addresses in case of HTTP proxies 2025-07-04 17:54:57 +03:00
Alexey Pustovalov
9860d2a88d Remove deprecated Windows ltsc 2019 2025-07-04 11:03:46 +03:00
Alexey Pustovalov
65e364be32 Updated Oracle Linux 9 to 10 2025-07-04 10:37:18 +03:00
156 changed files with 1045 additions and 961 deletions

16
.env
View File

@ -1,10 +1,10 @@
# Zabbix images
ZABBIX_ALPINE_IMAGE_TAG=alpine-7.4
ZABBIX_CENTOS_IMAGE_TAG=centos-7.4
ZABBIX_OL_IMAGE_TAG=ol-7.4
ZABBIX_UBUNTU_IMAGE_TAG=ubuntu-7.4
ZABBIX_RHEL_IMAGE_TAG=rhel-7.4
ZABBIX_IMAGE_TAG_POSTFIX=-latest
ZABBIX_ALPINE_IMAGE_TAG=alpine
ZABBIX_CENTOS_IMAGE_TAG=centos
ZABBIX_OL_IMAGE_TAG=ol
ZABBIX_UBUNTU_IMAGE_TAG=ubuntu
ZABBIX_RHEL_IMAGE_TAG=rhel
ZABBIX_IMAGE_TAG_POSTFIX=-trunk
ZABBIX_LOCAL_IMAGE_TAG_POSTFIX=-local
ZABBIX_SERVER_MYSQL_IMAGE=zabbix/zabbix-server-mysql
@ -78,11 +78,11 @@ ENV_VARS_DIRECTORY=./env_vars
RESTART_POLICY=unless-stopped
# Cache base images
ALPINE_BASE_IMAGE=alpine:3.23
ALPINE_BASE_IMAGE=alpine:3.22
CENTOS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
OL_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
UBUNTU_BASE_IMAGE=ubuntu:noble
RHEL_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
RHEL_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
# Base images
BUILD_BASE_IMAGE=zabbix-build-base

View File

@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
@ -27,6 +27,6 @@ jobs:
github.com:443
- name: 'Checkout Repository'
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 'Dependency Review'
uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2
uses: actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a # v4.3.3

View File

@ -48,7 +48,7 @@ jobs:
- web-service
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
@ -57,12 +57,12 @@ jobs:
hub.docker.com:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
- name: Update DockerHub repo description (zabbix-${{ matrix.component }})
uses: peter-evans/dockerhub-description@1b9a80c056b620d92cedb9d9b5a223409c68ddfa # v5.0.0
uses: peter-evans/dockerhub-description@e98e4d1628a5f3be2be7c231e50981aee98723ae # v4.0.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

View File

@ -64,7 +64,7 @@ jobs:
sha_short: ${{ steps.branch_info.outputs.sha_short }}
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
@ -72,10 +72,9 @@ jobs:
api.github.com:443
github.com:443
objects.githubusercontent.com:443
release-assets.githubusercontent.com:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
@ -176,13 +175,12 @@ jobs:
attestations: write
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: audit
allowed-endpoints: >
api.github.com:443
release-assets.githubusercontent.com:443
archive.ubuntu.com:80
atl.mirrors.knownhost.com:443
atl.mirrors.knownhost.com:80
@ -268,26 +266,27 @@ jobs:
ziply.mm.fcix.net:443
pkg-containers.githubusercontent.com:443
raw.githubusercontent.com:443
timestamp.sigstore.dev:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
- name: Install cosign
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
- name: Check cosign version
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
run: cosign version
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
with:
image: tonistiigi/binfmt:qemu-v10.0.4
image: tonistiigi/binfmt:qemu-v8.1.5
platforms: all
- name: Set up Docker Buildx
@ -312,7 +311,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: |
${{ format('{0}/{1}/{2}{3}', env.DOCKER_REGISTRY_TEST, env.DOCKER_REPOSITORY_TEST, env.IMAGES_PREFIX, env.BASE_BUILD_NAME ) }},enable=${{ env.AUTO_PUSH_IMAGES != 'true' }}
@ -363,14 +362,14 @@ jobs:
- name: Login to DockerHub
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to ${{ env.DOCKER_REGISTRY_TEST }}
if: ${{ env.AUTO_PUSH_IMAGES != 'true' }}
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
registry: ${{ env.DOCKER_REGISTRY_TEST }}
username: ${{ github.actor }}
@ -392,12 +391,10 @@ jobs:
org.opencontainers.image.created=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
- name: Scan for vulnerabilities
if: ${{ matrix.os != 'centos' }}
uses: crazy-max/ghaction-container-scan@v3
with:
image: ${{ fromJSON(steps.meta.outputs.json).tags[0] }}
annotations: true
dockerfile: ${{ format('{0}/{1}/{2}/Dockerfile', env.DOCKERFILES_DIRECTORY, env.BASE_BUILD_NAME, matrix.os) }}
- name: Sign the images with GitHub OIDC Token
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
@ -422,7 +419,7 @@ jobs:
- name: Attest images
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
id: attest
uses: actions/attest-build-provenance@v3
uses: actions/attest-build-provenance@v2
with:
subject-name: ${{ format('{0}/{1}/{2}{3}', env.DOCKER_REGISTRY, env.DOCKER_REPOSITORY, env.IMAGES_PREFIX, env.BASE_BUILD_NAME ) }}
subject-digest: ${{ steps.docker_build.outputs.digest }}
@ -443,7 +440,7 @@ jobs:
echo "${METADATA}" > "$CACHE_FILE_NAME"
- name: Cache image metadata
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BASE_CACHE_FILE_NAME }}
key: ${{ env.BASE_BUILD_NAME }}-${{ matrix.os }}-${{ github.run_id }}
@ -465,13 +462,12 @@ jobs:
attestations: write
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
api.github.com:443
release-assets.githubusercontent.com:443
auth.docker.io:443
git.zabbix.com:443
github.com:443
@ -479,9 +475,7 @@ jobs:
go.mongodb.org:443
golang.org:443
google.golang.org:443
sum.golang.org:443
golang.zabbix.com:443
sum.golang.org:443
gopkg.in:443
ghcr.io:443
index.docker.io:443
@ -497,26 +491,27 @@ jobs:
rekor.sigstore.dev:443
pkg-containers.githubusercontent.com:443
raw.githubusercontent.com:443
timestamp.sigstore.dev:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
- name: Install cosign
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
- name: Check cosign version
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
run: cosign version
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
with:
image: tonistiigi/binfmt:qemu-v10.0.4
image: tonistiigi/binfmt:qemu-v8.1.5
platforms: all
- name: Set up Docker Buildx
@ -541,7 +536,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: |
${{ format('{0}/{1}/{2}{3}', env.DOCKER_REGISTRY_TEST, env.DOCKER_REPOSITORY_TEST, env.IMAGES_PREFIX, matrix.build ) }},enable=${{ env.AUTO_PUSH_IMAGES != 'true' }}
@ -559,7 +554,7 @@ jobs:
latest=${{ (matrix.os == 'alpine') && (!contains(fromJSON('["workflow_dispatch"]'), github.event_name)) && ( needs.init_build.outputs.is_default_branch == 'true' ) }}
- name: Download metadata of ${{ env.BASE_BUILD_NAME }}:${{ matrix.os }}
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BASE_CACHE_FILE_NAME }}
key: ${{ env.BASE_BUILD_NAME }}-${{ matrix.os }}-${{ github.run_id }}
@ -635,14 +630,14 @@ jobs:
- name: Login to DockerHub
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to ${{ env.DOCKER_REGISTRY_TEST }}
if: ${{ env.AUTO_PUSH_IMAGES != 'true' }}
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
registry: ${{ env.DOCKER_REGISTRY_TEST }}
username: ${{ github.actor }}
@ -690,7 +685,7 @@ jobs:
- name: Attest images
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
id: attest
uses: actions/attest-build-provenance@v3
uses: actions/attest-build-provenance@v2
with:
subject-name: ${{ format('{0}/{1}/{2}{3}', env.DOCKER_REGISTRY, env.DOCKER_REPOSITORY, env.IMAGES_PREFIX, matrix.build ) }}
subject-digest: ${{ steps.docker_build.outputs.digest }}
@ -711,7 +706,7 @@ jobs:
echo "${METADATA}" > "$CACHE_FILE_NAME"
- name: Cache image metadata
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BUILD_CACHE_FILE_NAME }}
key: ${{ matrix.build }}-${{ matrix.os }}-${{ github.run_id }}
@ -734,13 +729,12 @@ jobs:
attestations: write
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
api.github.com:443
release-assets.githubusercontent.com:443
apt.postgresql.org:80
auth.docker.io:443
dl-cdn.alpinelinux.org:443
@ -859,26 +853,27 @@ jobs:
rekor.sigstore.dev:443
pkg-containers.githubusercontent.com:443
raw.githubusercontent.com:443
timestamp.sigstore.dev:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
- name: Install cosign
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
- name: Check cosign version
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
run: cosign version
- name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
with:
image: tonistiigi/binfmt:qemu-v10.0.4
image: tonistiigi/binfmt:qemu-v8.1.5
platforms: all
- name: Set up Docker Buildx
@ -935,7 +930,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: |
${{ format('{0}/{1}/{2}{3}', env.DOCKER_REGISTRY_TEST, env.DOCKER_REPOSITORY_TEST, env.IMAGES_PREFIX, matrix.build ) }},enable=${{ env.AUTO_PUSH_IMAGES != 'true' }}
@ -953,7 +948,7 @@ jobs:
latest=${{ (matrix.os == 'alpine') && (!contains(fromJSON('["workflow_dispatch"]'), github.event_name)) && ( needs.init_build.outputs.is_default_branch == 'true' ) }}
- name: Download metadata of ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.os }}
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
if: ${{ matrix.build != 'snmptraps' }}
with:
path: ${{ env.BUILD_CACHE_FILE_NAME }}
@ -1017,7 +1012,7 @@ jobs:
- name: Login to DockerHub
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@ -1061,7 +1056,7 @@ jobs:
- name: Attest images
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
id: attest
uses: actions/attest-build-provenance@v3
uses: actions/attest-build-provenance@v2
with:
subject-name: ${{ format('{0}/{1}/{2}{3}', env.DOCKER_REGISTRY, env.DOCKER_REPOSITORY, env.IMAGES_PREFIX, matrix.build ) }}
subject-digest: ${{ steps.docker_build.outputs.digest }}

View File

@ -72,7 +72,7 @@ jobs:
secret_prefix: ${{ steps.branch_info.outputs.secret_prefix }}
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
@ -80,10 +80,9 @@ jobs:
api.github.com:443
github.com:443
objects.githubusercontent.com:443
release-assets.githubusercontent.com:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
sparse-checkout: ${{ env.MATRIX_FILE }}
@ -214,13 +213,13 @@ jobs:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
- name: Install cosign
if: ${{ env.AUTO_PUSH_IMAGES == 'true' }}
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
@ -237,7 +236,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.IMAGES_PREFIX }}${{ matrix.build }}
tags: |
@ -282,7 +281,7 @@ jobs:
echo "image_tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT
- name: Cache image metadata
uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache/save@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: |
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag_id
@ -345,7 +344,7 @@ jobs:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
@ -357,7 +356,7 @@ jobs:
echo "arch=${ARCH,,}" >> $GITHUB_OUTPUT
- name: Download metadata of ${{ env.BASE_BUILD_NAME }}:${{ matrix.arch }}
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: |
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag_id
@ -395,7 +394,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.IMAGES_PREFIX }}${{ matrix.build }}
tags: |
@ -410,7 +409,7 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
containerfiles: |
${{ env.DOCKERFILES_DIRECTORY }}/${{ matrix.build }}/rhel/Dockerfile
build-args: BUILD_BASE_IMAGE=localhost/${{ steps.base_build.outputs.base_build_image }}
build-args: BUILD_BASE_IMAGE=${{ steps.base_build.outputs.base_build_image }}
extra-args: |
--iidfile=${{ github.workspace }}/iidfile
--build-context sources=./sources/
@ -442,7 +441,7 @@ jobs:
echo "image_tag=${IMAGE_TAG}" >> $GITHUB_OUTPUT
- name: Cache image metadata
uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache/save@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: |
${{ matrix.build }}_${{ matrix.arch }}_tag_id
@ -505,7 +504,7 @@ jobs:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
@ -539,7 +538,7 @@ jobs:
- name: Download metadata of ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.arch }}
if: ${{ matrix.build != 'snmptraps' }}
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: |
${{ steps.build_base_image.outputs.build_base }}_${{ matrix.arch }}_tag_id
@ -584,7 +583,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.REGISTRY }}/${{ env.REGISTRY_NAMESPACE }}/${{ secrets[format('{0}_{1}_PROJECT', needs.init_build.outputs.secret_prefix, steps.var_format.outputs.matrix_build)] || matrix.build }}
tags: |
@ -607,8 +606,9 @@ jobs:
containerfiles: |
${{ env.DOCKERFILES_DIRECTORY }}/${{ matrix.build }}/rhel/Dockerfile
extra-args: |
--pull
--iidfile=${{ github.workspace }}/iidfile
build-args: BUILD_BASE_IMAGE=localhost/${{ steps.base_build.outputs.base_build_image }}
build-args: BUILD_BASE_IMAGE=${{ steps.base_build.outputs.base_build_image }}
- name: Log in to ${{ env.REGISTRY }}
uses: redhat-actions/podman-login@9184318aae1ee5034fbfbacc0388acf12669171f # v1.6
@ -650,7 +650,7 @@ jobs:
--env PFLT_LOGLEVEL=$PFLT_LOGLEVEL \
--env PFLT_ARTIFACTS=/artifacts \
--env PFLT_LOGFILE=/artifacts/preflight.log \
--env PFLT_CERTIFICATION_COMPONENT_ID=$PFLT_CERTIFICATION_PROJECT_ID \
--env PFLT_CERTIFICATION_PROJECT_ID=$PFLT_CERTIFICATION_PROJECT_ID \
--env PFLT_PYXIS_API_TOKEN=$PFLT_PYXIS_API_TOKEN \
--env PFLT_DOCKERCONFIG=/temp-authfile.json \
-v $PFLT_ARTIFACTS:/artifacts \
@ -720,7 +720,7 @@ jobs:
permissions: {}
steps:
- name: Download metadata of ${{ matrix.build }}:${{ matrix.arch }}
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: |
${{ matrix.build }}_${{ matrix.arch }}_tag_id
@ -741,7 +741,7 @@ jobs:
echo "::endgroup::"
- name: Download metadata of ${{ env.BASE_BUILD_NAME }}:${{ matrix.arch }}
uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: |
${{ env.BASE_BUILD_NAME }}_${{ matrix.arch }}_tag_id

View File

@ -60,16 +60,15 @@ jobs:
sha_short: ${{ steps.branch_info.outputs.sha_short }}
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
github.com:443
release-assets.githubusercontent.com:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
@ -158,13 +157,13 @@ jobs:
component: ${{ fromJson(needs.init_build.outputs.components) }}
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
- name: Install cosign
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
@ -172,7 +171,7 @@ jobs:
run: cosign version
- name: Login to DockerHub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@ -193,7 +192,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}/${{ env.IMAGES_PREFIX }}${{ env.BASE_IMAGE_NAME }}
context: ${{ env.TRUNK_ONLY_EVENT == 'true' && 'git' || '' }}
@ -327,7 +326,7 @@ jobs:
$Env:DIGEST | Set-Content -Path $Env:CACHE_FILE_NAME
- name: Cache image digest
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BASE_IMAGE_NAME }}_${{ matrix.os }}_${{ matrix.component }}
key: ${{ env.BASE_IMAGE_NAME }}-${{ matrix.os }}-${{ github.run_id }}
@ -348,13 +347,13 @@ jobs:
component: ${{ fromJson(needs.init_build.outputs.components) }}
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
- name: Install cosign
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
@ -362,7 +361,7 @@ jobs:
run: cosign version
- name: Login to DockerHub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@ -383,7 +382,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}/${{ env.IMAGES_PREFIX }}${{ env.BASE_BUILD_IMAGE_NAME }}
context: ${{ env.TRUNK_ONLY_EVENT == 'true' && 'git' || '' }}
@ -399,7 +398,7 @@ jobs:
latest=false
- name: Download SHA256 tag of ${{ env.BASE_IMAGE_NAME }}:${{ matrix.os }}
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BASE_IMAGE_NAME }}_${{ matrix.os }}_${{ matrix.component }}
key: ${{ env.BASE_IMAGE_NAME }}-${{ matrix.os }}-${{ github.run_id }}
@ -555,7 +554,7 @@ jobs:
$Env:DIGEST | Set-Content -Path $Env:CACHE_FILE_NAME
- name: Cache image digest
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BASE_BUILD_IMAGE_NAME }}_${{ matrix.os }}_${{ matrix.component }}
key: ${{ env.BASE_BUILD_IMAGE_NAME }}-${{ matrix.os }}-${{ github.run_id }}
@ -576,13 +575,13 @@ jobs:
component: ${{ fromJson(needs.init_build.outputs.components) }}
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ env.TRUNK_ONLY_EVENT == 'true' && env.TRUNK_GIT_BRANCH || '' }}
fetch-depth: 1
- name: Install cosign
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a
with:
cosign-release: 'v2.4.0'
@ -590,7 +589,7 @@ jobs:
run: cosign version
- name: Login to DockerHub
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@ -611,7 +610,7 @@ jobs:
- name: Generate tags
id: meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5.8.0
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_REPOSITORY }}/${{ env.IMAGES_PREFIX }}${{ matrix.component }}
context: ${{ env.TRUNK_ONLY_EVENT == 'true' && 'git' || '' }}
@ -627,7 +626,7 @@ jobs:
latest=false
- name: Download SHA256 tag of ${{ env.BASE_BUILD_IMAGE_NAME }}:${{ matrix.os }}
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
with:
path: ${{ env.BASE_BUILD_IMAGE_NAME }}_${{ matrix.os }}_${{ matrix.component }}
key: ${{ env.BASE_BUILD_IMAGE_NAME }}-${{ matrix.os }}-${{ github.run_id }}

View File

@ -34,7 +34,7 @@ jobs:
zabbix_release: ${{ steps.branch_info.outputs.zabbix_release }}
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
@ -42,7 +42,7 @@ jobs:
github.com:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
sparse-checkout: ${{ env.MATRIX_FILE }}
@ -98,7 +98,7 @@ jobs:
component: ${{ fromJson(needs.init.outputs.components) }}
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
disable-sudo: true
egress-policy: block
@ -109,7 +109,7 @@ jobs:
pypi.org:443
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
@ -127,7 +127,7 @@ jobs:
echo "matrix_build=${MATRIX_BUILD}" >> $GITHUB_OUTPUT
- name: Setup Python 3.x
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: '3.x'

View File

@ -33,17 +33,17 @@ jobs:
steps:
- name: Harden Runner
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
egress-policy: audit
- name: "Checkout code"
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
with:
results_file: results.sarif
results_format: sarif
@ -65,7 +65,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: SARIF file
path: results.sarif
@ -73,6 +73,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8
uses: github/codeql-action/upload-sarif@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
with:
sarif_file: results.sarif

View File

@ -30,9 +30,9 @@ name: SonarCloud analysis
on:
push:
branches: [ "7.4" ]
branches: [ "7.2" ]
pull_request:
branches: [ "7.4" ]
branches: [ "7.2" ]
workflow_dispatch:
permissions:
@ -44,18 +44,36 @@ jobs:
steps:
- name: Block egress traffic
uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
with:
egress-policy: audit
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
- name: Analyze with SonarCloud
uses: SonarSource/sonarqube-scan-action@v7.0.0
# You can pin the exact commit or the version.
# uses: SonarSource/sonarcloud-github-action@e44258b109568baa0df60ed515909fc6c72cba92
uses: SonarSource/sonarcloud-github-action@e44258b109568baa0df60ed515909fc6c72cba92 # v2.3.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Generate a token on Sonarcloud.io, add it to the secrets of this repo with the name SONAR_TOKEN (Settings > Secrets > Actions > add new repository secret)
with:
# Additional arguments for the sonarcloud scanner
args:
# Unique keys of your project and organization. You can find them in SonarCloud > Information (bottom-left menu)
# mandatory
-Dsonar.projectKey=zabbix-docker
-Dsonar.organization=zabbix
# Comma-separated paths to directories containing main source files.
#-Dsonar.sources= # optional, default is project base directory
# When you need the analysis to take place in a directory other than the one from which it was launched
#-Dsonar.projectBaseDir= # optional, default is .
# Comma-separated paths to directories containing test source files.
#-Dsonar.tests= # optional. For more info about Code Coverage, please refer to https://docs.sonarcloud.io/enriching/test-coverage/overview/
# Adds more detail to both client and server-side analysis logs, activating DEBUG mode for the scanner, and adding client-side environment variables and system properties to the server-side log of analysis report processing.
#-Dsonar.verbose= # optional, default is false

4
.gitignore vendored
View File

@ -5,6 +5,4 @@ zbx_env*/
.*KEY_FILE
.*CA_FILE
Dockerfiles/*/rhel/secrets/*
sources/*
.*.orig
.*.rej
sources/*

View File

@ -14,7 +14,7 @@ Zabbix agent is deployed on a monitoring target to actively monitor local resour
# Zabbix agent images
These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10, Oracle Linux 10, Windows 10 LTSC 2019 and Windows 11 LTSC 2022 images. The available versions of Zabbix agent are:
These are the only official Zabbix agent Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10, Oracle Linux 10, Windows 10 LTSC 2019 and Windows 11 LTSC 2022 images. The available versions of Zabbix agent are:
Zabbix agent 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix agent 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*, ltsc2019-6.0.*, ltsc2022-6.0.*)
@ -225,7 +225,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`agent/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/agent) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`agent/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/agent) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -41,7 +41,6 @@ RUN set -eux && \
tzdata \
coreutils \
iputils \
c-ares \
pcre2 \
libgcc \
libcurl \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -41,7 +41,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
set -eux && \
INSTALL_PKGS="bash \
iputils \
c-ares \
pcre2 \
libcurl-minimal \
# libmodbus \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -42,7 +42,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
set -eux && \
INSTALL_PKGS="bash \
iputils \
c-ares \
pcre2 \
libcurl \
# libmodbus \

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -24,9 +24,9 @@ ENV ZBX_LOADMODULEPATH="${ZABBIX_USER_HOME_DIR}/modules" \
LABEL description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-agent-74" \
name="zabbix/zabbix-agent-trunk" \
release="${RELEASE}" \
run="podman run --name zabbix-agent -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent-74:${ZBX_VERSION}" \
run="podman run --name zabbix-agent -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent-trunk:${ZBX_VERSION}" \
summary="Zabbix agent" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -37,7 +37,7 @@ LABEL description="Zabbix agent is deployed on a monitoring target to actively m
io.openshift.tags="zabbix,zabbix-agent" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix agent is deployed on a monitoring target to actively monitor local resources and applications" \
org.label-schema.docker.cmd="podman run --name zabbix-agent -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="podman run --name zabbix-agent -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-agent-rhel" \
org.label-schema.schema-version="1.0" \
@ -61,7 +61,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
INSTALL_PKGS="bash \
iputils \
shadow-utils \
c-ares \
pcre2 \
# libmodbus \
libcurl-minimal \
@ -70,11 +69,10 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
curl --tlsv1.2 -sSf -L https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm -o /tmp/epel-release-latest-10.noarch.rpm && \
rpm -ivh /tmp/epel-release-latest-10.noarch.rpm && \
rm -rf /tmp/epel-release-latest-10.noarch.rpm && \
ARCH_SUFFIX="$(arch)"; \
microdnf -y install \
--disableplugin=subscription-manager \
--disablerepo "*" \
--enablerepo "ubi-10-baseos-rpms" \
--enablerepo "rhel-10-for-$ARCH_SUFFIX-baseos-rpms" \
--enablerepo "epel" \
--setopt=install_weak_deps=0 \
--setopt=keepcache=0 \

View File

@ -111,7 +111,7 @@
<p>The volume is used to store TLS related files. These file names are specified using <code>ZBX_TLSCAFILE</code>, <code>ZBX_TLSCRLFILE</code>, <code>ZBX_TLSKEY_FILE</code> and <code>ZBX_TLSPSKFILE</code> variables.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/agent"><code>agent/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/agent"><code>agent/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -44,7 +44,6 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \
tzdata \
iputils-ping \
ca-certificates \
libcares2 \
libssl3t64 \
libcurl4t64 \
libmodbus5 \

View File

@ -2,8 +2,8 @@
# escape=`
ARG OS_BASE_IMAGE=mcr.microsoft.com/windows/nanoserver:ltsc2022
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-agent:ltsc2022-agent-${ZBX_VERSION}

View File

@ -14,7 +14,7 @@ Zabbix agent 2 is deployed on a monitoring target to actively monitor local reso
# Zabbix agent 2 images
These are the only official Zabbix agent 2 Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10, Oracle Linux 10, Windows 10 LTSC 2019 and Windows 11 LTSC 2022 images. The available versions of Zabbix agent 2 are:
These are the only official Zabbix agent 2 Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10, Oracle Linux 10, Windows 10 LTSC 2019 and Windows 11 LTSC 2022 images. The available versions of Zabbix agent 2 are:
Zabbix agent 2 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix agent 2 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*, ltsc2019-6.0.*, ltsc2022-6.0.*)
@ -215,7 +215,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`agent2/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/agent2) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`agent2/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/agent2) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -24,9 +24,9 @@ ENV ZBX_PERSISTENTBUFFERFILE="$ZABBIX_USER_HOME_DIR/buffer/agent2.db" \
LABEL description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-agent2-74" \
name="zabbix/zabbix-agent2-trunk" \
release="${RELEASE}" \
run="docker run --name zabbix-agent2 --link zabbix-server:zabbix-server -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent2-74:${ZBX_VERSION}" \
run="docker run --name zabbix-agent2 --link zabbix-server:zabbix-server -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent2-trunk:${ZBX_VERSION}" \
summary="Zabbix agent" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -37,7 +37,7 @@ LABEL description="Zabbix agent 2 is deployed on a monitoring target to actively
io.openshift.tags="zabbix,zabbix-agent" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix agent 2 is deployed on a monitoring target to actively monitor local resources and applications" \
org.label-schema.docker.cmd="docker run --name zabbix-agent2 --link zabbix-server:zabbix-server -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent2-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="docker run --name zabbix-agent2 --link zabbix-server:zabbix-server -p 10050:10050 -d registry.connect.redhat.com/zabbix/zabbix-agent2-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-agent2-rhel" \
org.label-schema.schema-version="1.0" \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=nvidia/cuda:12.9.0-base-ubi9
ARG MAJOR_VERSION=7.2
ARG MAJOR_VERSION=8.0
ARG RELEASE=7
ARG ZBX_VERSION=${MAJOR_VERSION}.7
ARG BUILD_BASE_IMAGE=registry.connect.redhat.com/zabbix/zabbix-agent2-72:${ZBX_VERSION}

View File

@ -103,7 +103,7 @@
<p>The volume is used to store the file, where Zabbix Agent2 should keep SQLite database. To enable the feature specify <code>ZBX_ENABLEPERSISTENTBUFFER=true</code>. Available since 5.0.0.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/agent2"><code>agent2/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/agent2"><code>agent2/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -2,8 +2,8 @@
# escape=`
ARG OS_BASE_IMAGE=mcr.microsoft.com/windows/nanoserver:ltsc2022
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-agent:ltsc2022-agent2-${ZBX_VERSION}

View File

@ -14,7 +14,7 @@ Zabbix build base image is prepared build environment for building Zabbix compon
# Zabbix build base images
These are the only official Zabbix build base Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
These are the only official Zabbix build base Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
Zabbix build base 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix build base 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -30,7 +30,7 @@ Images are updated when new releases are published. The image with ``latest`` ta
# How to use this image
The image is required to build Zabbix components. It is base image for [MySQL](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-mysql), [PostgreSQL](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-pgsql) and [SQLite3](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-sqlite3) base images. While the image contains only required packages, MySQL, PostgreSQL and SQLite3 base images compile Zabbix component and prepare them for usage.
The image is required to build Zabbix components. It is base image for [MySQL](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-mysql), [PostgreSQL](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-pgsql) and [SQLite3](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-sqlite3) base images. While the image contains only required packages, MySQL, PostgreSQL and SQLite3 base images compile Zabbix component and prepare them for usage.
# The image variants
@ -64,7 +64,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
## Issues

View File

@ -1,9 +1,9 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG OS_BASE_IMAGE=alpine:3.22
FROM ${OS_BASE_IMAGE}
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} \
@ -30,7 +30,6 @@ RUN set -eux && \
INSTALL_PKGS="bash \
autoconf \
automake \
c-ares-dev \
coreutils \
curl \
curl-dev \

View File

@ -2,8 +2,8 @@
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
FROM ${OS_BASE_IMAGE}
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} \
@ -27,7 +27,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
bash \
gcc \
patch \
c-ares-devel \
pcre2-devel \
libcurl-devel \
libevent-devel \

View File

@ -2,8 +2,8 @@
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
FROM ${OS_BASE_IMAGE}
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} \
@ -29,7 +29,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
gcc \
go-toolset \
patch \
c-ares-devel \
pcre2-devel \
libcurl-devel \
libevent-devel \

View File

@ -1,10 +1,10 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
FROM ${OS_BASE_IMAGE}
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} \
@ -41,7 +41,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
gcc \
go-toolset \
patch \
c-ares-devel \
pcre2-devel \
libcurl-devel \
libevent-devel \

View File

@ -2,8 +2,8 @@
ARG OS_BASE_IMAGE=ubuntu:noble
FROM ${OS_BASE_IMAGE}
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} \
@ -28,7 +28,6 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \
curl \
gcc \
libc6-dev \
libc-ares-dev \
libcurl4-openssl-dev \
libevent-dev \
libmodbus-dev \

View File

@ -1,148 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(libmodbus_win C)
option(MODBUS_ENABLE_RTU "Build RTU backend (modbus-rtu.c)" ON)
option(MODBUS_ENABLE_TCP "Build TCP backend (modbus-tcp.c)" ON)
option(MODBUS_FIX_MSVC_SOCKOPT_WARNINGS "Fix MSVC winsock C4133 warnings" ON)
set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
# --- 1) Prepare shim include dir (build-only includes live here) ---
set(SHIM_INC_DIR "${CMAKE_CURRENT_BINARY_DIR}/include")
file(MAKE_DIRECTORY "${SHIM_INC_DIR}")
# We expect config.h to exist in ${SRC_DIR}/config.h (you generate it via src/win32/configure.js)
if(NOT EXISTS "${SRC_DIR}/win32/config.h")
message(FATAL_ERROR
"config.h not found at ${SRC_DIR}/win32/config.h. "
"Run src/win32/configure.js and copy config.h into src/ before configuring with CMake.")
endif()
# --- 2) Generate shim modbus.h (static-friendly MODBUS_API) ---
file(READ "${SRC_DIR}/modbus.h" MODBUS_H_TXT)
set(MODBUS_API_BLOCK
"#if defined(_MSC_VER)
# if defined(DLLBUILD)
/* define DLLBUILD when building the DLL */
# define MODBUS_API __declspec(dllexport)
# else
# define MODBUS_API __declspec(dllimport)
# endif
#else
# define MODBUS_API
#endif")
set(MODBUS_API_BLOCK_REPL
"#if defined(_MSC_VER)
/* Static library: do NOT use dllimport/dllexport in public headers */
# if defined(DLLBUILD)
# define MODBUS_API __declspec(dllexport)
# else
# define MODBUS_API
# endif
#else
# define MODBUS_API
#endif")
string(REPLACE "${MODBUS_API_BLOCK}" "${MODBUS_API_BLOCK_REPL}" MODBUS_H_TXT "${MODBUS_H_TXT}")
file(WRITE "${SHIM_INC_DIR}/modbus.h" "${MODBUS_H_TXT}")
# Copy remaining headers needed to compile (build-only set includes private/config)
file(COPY "${SRC_DIR}/modbus-tcp.h" DESTINATION "${SHIM_INC_DIR}")
file(COPY "${SRC_DIR}/modbus-rtu.h" DESTINATION "${SHIM_INC_DIR}")
file(COPY "${SRC_DIR}/modbus-version.h" DESTINATION "${SHIM_INC_DIR}")
# Build-only headers required by .c files
file(COPY "${SRC_DIR}/win32/config.h" DESTINATION "${SHIM_INC_DIR}")
file(COPY "${SRC_DIR}/modbus-private.h" DESTINATION "${SHIM_INC_DIR}")
file(COPY "${SRC_DIR}/modbus-tcp-private.h" DESTINATION "${SHIM_INC_DIR}")
file(COPY "${SRC_DIR}/modbus-rtu-private.h" DESTINATION "${SHIM_INC_DIR}")
# --- 3) Generate shim sources (do not modify upstream sources on disk) ---
set(SHIM_SRC_DIR "${CMAKE_CURRENT_BINARY_DIR}/shim_src")
file(MAKE_DIRECTORY "${SHIM_SRC_DIR}")
function(make_shim_source in_file out_file)
file(READ "${in_file}" TXT)
# Force includes via include paths (so our shim headers win)
string(REPLACE "#include \"modbus.h\"" "#include <modbus.h>" TXT "${TXT}")
string(REPLACE "#include \"modbus-tcp.h\"" "#include <modbus-tcp.h>" TXT "${TXT}")
string(REPLACE "#include \"modbus-rtu.h\"" "#include <modbus-rtu.h>" TXT "${TXT}")
string(REPLACE "#include \"modbus-version.h\"" "#include <modbus-version.h>" TXT "${TXT}")
# Some files include private/config with quotes; route those too
string(REPLACE "#include \"config.h\"" "#include <config.h>" TXT "${TXT}")
string(REPLACE "#include \"modbus-private.h\"" "#include <modbus-private.h>" TXT "${TXT}")
string(REPLACE "#include \"modbus-tcp-private.h\"" "#include <modbus-tcp-private.h>" TXT "${TXT}")
string(REPLACE "#include \"modbus-rtu-private.h\"" "#include <modbus-rtu-private.h>" TXT "${TXT}")
# Optional: silence MSVC winsock setsockopt warnings (C4133)
# On Windows setsockopt expects const char* optval; libmodbus passes &int.
if (MSVC AND MODBUS_FIX_MSVC_SOCKOPT_WARNINGS)
string(REPLACE ", &option, sizeof(int))" ", (const char*)&option, sizeof(int))" TXT "${TXT}")
endif()
file(WRITE "${out_file}" "${TXT}")
endfunction()
# Base sources
make_shim_source("${SRC_DIR}/modbus.c" "${SHIM_SRC_DIR}/modbus.c")
make_shim_source("${SRC_DIR}/modbus-data.c" "${SHIM_SRC_DIR}/modbus-data.c")
set(MODBUS_SOURCES
"${SHIM_SRC_DIR}/modbus.c"
"${SHIM_SRC_DIR}/modbus-data.c"
)
if(MODBUS_ENABLE_TCP)
make_shim_source("${SRC_DIR}/modbus-tcp.c" "${SHIM_SRC_DIR}/modbus-tcp.c")
list(APPEND MODBUS_SOURCES "${SHIM_SRC_DIR}/modbus-tcp.c")
endif()
if(MODBUS_ENABLE_RTU)
make_shim_source("${SRC_DIR}/modbus-rtu.c" "${SHIM_SRC_DIR}/modbus-rtu.c")
list(APPEND MODBUS_SOURCES "${SHIM_SRC_DIR}/modbus-rtu.c")
endif()
add_library(modbus STATIC ${MODBUS_SOURCES})
# --- MSVC: silence WinSock signature warning (setsockopt wants const char*) ---
if (MSVC)
target_compile_options(modbus PRIVATE /wd4133)
endif()
# Use shim headers for build + consumers (PUBLIC), but we will INSTALL only public headers explicitly
target_include_directories(modbus
PUBLIC
"${SHIM_INC_DIR}"
)
if (WIN32)
target_link_libraries(modbus PUBLIC ws2_32)
endif()
# --- Install: only public headers (no config.h, no *-private.h) ---
include(GNUInstallDirs)
install(TARGETS modbus
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
)
set(PUBLIC_HEADERS
"${SHIM_INC_DIR}/modbus.h"
"${SHIM_INC_DIR}/modbus-version.h"
)
if(MODBUS_ENABLE_TCP)
list(APPEND PUBLIC_HEADERS "${SHIM_INC_DIR}/modbus-tcp.h")
endif()
if(MODBUS_ENABLE_RTU)
list(APPEND PUBLIC_HEADERS "${SHIM_INC_DIR}/modbus-rtu.h")
endif()
install(FILES ${PUBLIC_HEADERS}
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)

View File

@ -2,19 +2,21 @@
# escape=`
ARG OS_BASE_IMAGE=mcr.microsoft.com/windows/servercore:ltsc2022
ARG GIT_VERSION=2.52.0
ARG NASM_VERSION=3.01
ARG GIT_VERSION=2.47.1
ARG NASM_VERSION=2.16.03
ARG VS_BUILDTOOLS_VERSION=17
ARG PWSH_VERSION=7.5.4
ARG PWSH_VERSION=7.5.1
ARG PCRE2_VERSION=10.47
ARG OPENSSL_VERSION=3.5.4
ARG PCRE2_VERSION=10.44
ARG OPENSSL_VERSION=3.4.1
ARG LIBMODBUS_VERSION=3.1.11
ARG ZLIB_VERSION=1.3.1
ARG CURL_VERSION=8.17.0
ARG CURL_VERSION=8.11.1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG BUILD_ARCH=x64
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
FROM ${OS_BASE_IMAGE} AS src
@ -29,13 +31,15 @@ ARG LIBMODBUS_VERSION
ARG ZLIB_VERSION
ARG CURL_VERSION
ARG BUILD_ARCH
ARG GIT_URL=https://github.com/git-for-windows/git/releases/download/v$GIT_VERSION.windows.1/MinGit-$GIT_VERSION-64-bit.zip
ARG PERL_URL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54201_64bit/strawberry-perl-5.42.0.1-64bit-portable.zip
ARG PERL_URL=https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-5.40.0.1-64bit-portable.zip
ARG VS_BUILDTOOLS_URL=https://aka.ms/vs/$VS_BUILDTOOLS_VERSION/release/vs_buildtools.exe
ARG NASM_URL=https://www.nasm.us/pub/nasm/releasebuilds/$NASM_VERSION/win64/nasm-$NASM_VERSION-win64.zip
ARG PCRE2_URL=https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.zip
ARG PCRE2_URL=https://github.com/PhilipHazel/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.zip
ARG OPENSSL_URL=https://github.com/openssl/openssl/releases/download/openssl-$OPENSSL_VERSION/openssl-$OPENSSL_VERSION.tar.gz
ARG LIBMODBUS_URL=https://github.com/stephane/libmodbus/archive/refs/tags/v$LIBMODBUS_VERSION.tar.gz
ARG ZLIB_URL=https://zlib.net/zlib-$ZLIB_VERSION.tar.gz
@ -43,31 +47,29 @@ ARG CURL_URL=https://curl.se/download/curl-$CURL_VERSION.tar.gz
ARG PWSH_URL=https://github.com/PowerShell/PowerShell/releases/download/v$PWSH_VERSION/PowerShell-$PWSH_VERSION-win-x64.zip
ADD --checksum=sha256:d74c183c86c77248ad50017c7f45bae8f88106a6cca5d87ad09917e1c6fb0784 $PCRE2_URL build_src\pcre2.zip
ADD --checksum=sha256:967311f84955316969bdb1d8d4b983718ef42338639c621ec4c34fddef355e99 $OPENSSL_URL build_src\openssl.tar.gz
ADD --checksum=sha256:21c6f0523abfd37a2f5cc85879d0ff32723ab496347f0d20793df888ecec3957 $PCRE2_URL build_src\pcre2.zip
ADD --checksum=sha256:002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3 $OPENSSL_URL build_src\openssl.tar.gz
ADD --checksum=sha256:15b4b2e0f68122c2da9b195de5c330489a9c97d40b4a95d2822378dc14d780e7 $LIBMODBUS_URL build_src\libmodbus.tar.gz
ADD --checksum=sha256:9A93B2B7DFDAC77CEBA5A558A580E74667DD6FEDE4585B91EEFB60F03B72DF23 $ZLIB_URL build_src\zlib.tar.gz
ADD --checksum=sha256:e8e74cdeefe5fb78b3ae6e90cd542babf788fa9480029cfcee6fd9ced42b7910 $CURL_URL build_src\curl.tar.gz
ADD --checksum=sha256:a889ac9dbba3644271bd9d1302b5c22a088893719b72be3487bc3d401e5c4e80 $CURL_URL build_src\curl.tar.gz
ADD --checksum=sha256:b40d192ae95ba6ccc4cc362ff4e1b18ca6fb5055bebbcd3920684e12701fa8f6 $PWSH_URL build_deps\pwsh.zip
ADD --checksum=sha256:f42a561840627747ad48e6ece05a14093292d31f3393a401a7f7c780ee7695c2 $GIT_URL build_deps\git.zip
ADD --checksum=sha256:a1cde185656cf307b51670eed69f648b9eff15b5c518cb136e027c628e650b71 $PERL_URL build_deps\perl.zip
ADD --checksum=sha256:e0ba5157007abc7b1a65118a96657a961ddf55f7e3f632ee035366dfce039ca4 $NASM_URL build_deps\nasm.zip
ADD --checksum=sha256:4d3028da81170f8d1cd226614582f0a95d3dd5592127cf87a09e3a3568e51a08 $PWSH_URL build_deps\pwsh.zip
ADD --checksum=sha256:50b04b55425b5c465d076cdb184f63a0cd0f86f6ec8bb4d5860114a713d2c29a $GIT_URL build_deps\git.zip
ADD --checksum=sha256:754f3e2a8e473dc68d1540c7802fb166a025f35ef18960c4564a31f8b5933907 $PERL_URL build_deps\perl.zip
ADD --checksum=sha256:3ee4782247bcb874378d02f7eab4e294a84d3d15f3f6ee2de2f47a46aa7226e6 $NASM_URL build_deps\nasm.zip
ADD $VS_BUILDTOOLS_URL build_deps\vs_buildtools.exe
COPY CMakeLists.txt build_src\libmodbus_project\
COPY modbus.vs16.* build_src\libmodbus_project\
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Set-Location -Path $env:SystemDrive\.; `
`
$env:BUILD_SRC = [string]::Format('{0}\build_src', $env:SystemDrive); `
RUN $env:BUILD_SRC = [string]::Format('{0}\build_src', $env:SystemDrive); `
[Environment]::SetEnvironmentVariable('BUILD_SRC', $env:BUILD_SRC, [EnvironmentVariableTarget]::Machine); `
$env:BUILD_DEPS = [string]::Format('{0}\build_deps', $env:SystemDrive); `
[Environment]::SetEnvironmentVariable('BUILD_DEPS', $env:BUILD_DEPS, [EnvironmentVariableTarget]::Machine); `
`
Set-Location -Path $env:BUILD_DEPS; `
Write-Host 'Installing PowerShell...'; `
`
Set-Location -Path $env:BUILD_DEPS; `
Write-Host 'Installing PowerShell...'; `
Expand-Archive `
-Path $env:BUILD_DEPS\pwsh.zip `
-DestinationPath $env:BUILD_DEPS\pwsh\.; `
@ -81,7 +83,7 @@ RUN Set-Location -Path $env:SystemDrive\.; `
Expand-Archive `
-Path $env:BUILD_DEPS\nasm.zip `
-DestinationPath $env:BUILD_DEPS\.; `
Rename-Item -Path $env:BUILD_DEPS\nasm-$env:NASM_VERSION -NewName $env:BUILD_DEPS\NASM; `
Rename-Item -Path $env:BUILD_DEPS\nasm-$env:NASM_VERSION -NewName $env:BUILD_DEPS\nasm; `
`
Write-Host 'Installing GIT...'; `
Expand-Archive `
@ -91,8 +93,8 @@ RUN Set-Location -Path $env:SystemDrive\.; `
Write-Host 'Installing Perl...'; `
Expand-Archive -Path $env:BUILD_DEPS\perl.zip -DestinationPath $env:BUILD_DEPS\perl\; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\perl\c\; `
`
Set-Location -Path $env:BUILD_SRC; `
`
Set-Location -Path $env:BUILD_SRC; `
`
Write-Host 'Extracting PCRE2 archive ...'; `
Expand-Archive -Path $env:BUILD_SRC\pcre2.zip -DestinationPath $env:BUILD_SRC; `
@ -106,8 +108,8 @@ RUN Set-Location -Path $env:SystemDrive\.; `
Write-Host 'Extracting Libmodbus archive ...'; `
tar -zxf $env:BUILD_SRC\libmodbus.tar.gz; `
Move-Item -Path $env:BUILD_SRC\libmodbus-$env:LIBMODBUS_VERSION\ -Destination $env:BUILD_SRC\libmodbus; `
Copy-Item $env:BUILD_SRC\libmodbus_project\CMakeLists.txt -Destination $env:BUILD_SRC\libmodbus\CMakeLists.txt; `
Remove-Item -Force -Recurse $env:BUILD_SRC\libmodbus_project\; `
Move-Item -Path $env:BUILD_SRC\libmodbus_project\* -Destination $env:BUILD_SRC\libmodbus\src\win32; `
Remove-Item -Force -Recurse $env:BUILD_SRC\libmodbus_project\; `
`
Write-Host 'Extracting Zlib archive ...'; `
tar -zxf $env:BUILD_SRC\zlib.tar.gz; `
@ -116,12 +118,12 @@ RUN Set-Location -Path $env:SystemDrive\.; `
Write-Host 'Extracting CURL archive ...'; `
tar -zxf $env:BUILD_SRC\curl.tar.gz; `
Move-Item -Path $env:BUILD_SRC\curl-$env:CURL_VERSION\ -Destination $env:BUILD_SRC\curl; `
`
`
Write-Host 'Removing downloaded...'; `
Remove-Item -Force -Recurse $env:BUILD_SRC\*.tar.gz; `
Remove-Item -Force -Recurse $env:BUILD_SRC\*.zip; `
Remove-Item -Force -Recurse $env:BUILD_SRC\*.zip; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.tar.gz; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.zip;
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.zip;
FROM ${OS_BASE_IMAGE}
@ -135,12 +137,18 @@ ARG LIBMODBUS_VERSION
ARG ZLIB_VERSION
ARG CURL_VERSION
ARG BUILD_ARCH
ARG MAJOR_VERSION
ARG ZBX_VERSION
ENV ZBX_VERSION=$ZBX_VERSION `
VS_BUILDTOOLS_VERSION=$VS_BUILDTOOLS_VERSION `
PCRE2_VERSION=$PCRE2_VERSION OPENSSL_VERSION=$OPENSSL_VERSION LIBMODBUS_VERSION=$LIBMODBUS_VERSION
BUILD_ARCH=$BUILD_ARCH `
GIT_URL=$GIT_URL PERL_URL=$PERL_URL NASM_URL=$NASM_URL `
VS_BUILDTOOLS_URL=$VS_BUILDTOOLS_URL VS_BUILDTOOLS_VERSION=$VS_BUILDTOOLS_VERSION `
PCRE2_VERSION=$PCRE2_VERSION OPENSSL_VERSION=$OPENSSL_VERSION LIBMODBUS_VERSION=$LIBMODBUS_VERSION `
PCRE2_URL=$PCRE2_URL OPENSSL_URL=$OPENSSL_URL LIBMODBUS_URL=$LIBMODBUS_URL `
ZLIB_URL=$ZLIB_URL CURL_URL=$CURL_URL
LABEL org.opencontainers.image.title="Zabbix agent build base for Windows" `
org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" `
@ -157,6 +165,7 @@ COPY --from=src build_deps build_deps
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Set-Location -Path $env:SystemDrive\.; `
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; `
`
$env:BUILD_OUTPUT = [string]::Format('{0}\build_output', $env:SystemDrive); `
[Environment]::SetEnvironmentVariable('BUILD_OUTPUT', $env:BUILD_OUTPUT, [EnvironmentVariableTarget]::Machine); `
@ -165,12 +174,12 @@ RUN Set-Location -Path $env:SystemDrive\.; `
$env:BUILD_DEPS = [string]::Format('{0}\build_deps', $env:SystemDrive); `
[Environment]::SetEnvironmentVariable('BUILD_DEPS', $env:BUILD_DEPS, [EnvironmentVariableTarget]::Machine); `
`
$env:PATH = [string]::Format('{0}\perl\perl\bin;{0}\NASM;{0}\git\cmd;{0}\git\mingw64\bin;{0}\git\usr\bin;', $env:BUILD_DEPS) + $env:PATH; `
$env:PATH = [string]::Format('{0}\perl\perl\bin;{0}\NASM;{0}\git\cmd;{0}\git\mingw64\bin;{0}\git\usr\bin;', $env:BUILD_DEPS) + $env:PATH; `
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); `
`
New-Item -ItemType directory -Path $env:BUILD_OUTPUT -Force | Out-Null; `
Write-Host 'Verifying install ("git version") ...'; `
Write-Host $env:VS_BUILDTOOLS_VERSION; `
Write-Host 'Verifying install ("git version") ...'; `
Write-Host $env:VS_BUILDTOOLS_VERSION; `
git version; `
`
Write-Host 'Verifying install ("nasm -v") ...'; `
@ -204,124 +213,106 @@ RUN Set-Location -Path $env:SystemDrive\.; `
Write-Host 'Visual Studio components installation cleanup'; `
Get-ChildItem -Path """${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer""" -Directory -Recurse | Remove-Item -Force -Recurse; `
`
Write-Host 'Build environment is ready...';
RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Write-Host 'Build environment is ready...'; `
Set-Location -Path $env:SystemDrive\.; `
`
Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; `
`
Write-Host 'Building Zlib library...'; `
Set-Location -Path $env:SystemDrive\.; `
$env:CL = """$env:CL /MP"""; `
cmake -S $env:BUILD_SRC\zlib -B $env:BUILD_SRC\zlib\build `
-G """Visual Studio 17 2022""" `
-A x64 `
-DBUILD_SHARED_LIBS=OFF `
-DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$<CONFIG:Debug>:Debug>""" `
-DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\zlib"""; `
cmake --build $env:BUILD_SRC\zlib\build --config Release --parallel; `
cmake --install $env:BUILD_SRC\zlib\build --config Release; `
Remove-Item -Path $env:BUILD_SRC\zlib\build -Force -Recurse; `
Write-Host 'Zlib is ready...';
RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=x64"""; `
Set-Location -Path $env:BUILD_SRC\zlib; `
(Get-Content .\win32\Makefile.msc).replace('-MD', '-MT') | Set-Content .\win32\Makefile.msc; `
set CL=/MP; `
nmake /S -f .\win32\Makefile.msc; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\zlib | Out-Null; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\zlib\include | Out-Null; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\zlib\lib | Out-Null; `
Copy-Item $env:BUILD_SRC\zlib\*.h -Destination $env:BUILD_OUTPUT\zlib\include; `
Copy-Item $env:BUILD_SRC\zlib\zlib.lib -Destination $env:BUILD_OUTPUT\zlib\lib; `
Copy-Item $env:BUILD_SRC\zlib\zlib.pdb -Destination $env:BUILD_OUTPUT\zlib\lib; `
nmake /S -f .\win32\Makefile.msc clean | Out-Null; `
Write-Host 'Zlib is ready...'; `
`
Write-Host 'Building OpenSSL library...'; `
Set-Location -Path $env:BUILD_SRC\openssl; `
$env:CL = """$env:CL /nologo /MP /MT /wd4267 /wd4244"""; `
$env:NMAKEFLAGS = """/nologo"""; `
perl $env:BUILD_SRC\openssl\Configure `
VC-WIN64A `
no-capieng `
no-docs `
no-dgram `
no-dtls1-method `
no-dtls1_2-method `
no-gost `
no-shared `
no-srp `
no-tests `
no-ui-console `
no-winstore `
no-tests `
no-unit-test `
no-capieng `
--api=1.1.0 `
--prefix=$env:BUILD_OUTPUT\openssl `
--openssldir=$env:BUILD_OUTPUT\openssl_ssl; `
nmake /S build_libs; `
nmake /S INSTALLDOCS=0 INSTALLHTML=0 install_dev; `
set CL=/MP; `
nmake /S build_sw; `
nmake /S install_dev; `
nmake /S clean | Out-Null; `
Write-Host 'OpenSSL is ready...';
RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=x64"""; `
Write-Host 'OpenSSL is ready...'; `
`
Write-Host 'Building PCRE2 library ...'; `
Set-Location -Path $env:BUILD_SRC\pcre2; `
$env:CL = """$env:CL /MP"""; `
cmake -S $env:BUILD_SRC\pcre2 -B $env:BUILD_SRC\pcre2\build `
-G """Visual Studio 17 2022""" `
-A x64 `
Set-Location -Path $env:BUILD_SRC\pcre2\build; `
cmake --log-level=ERROR `
-G 'Visual Studio 17 2022' `
-A $env:BUILD_ARCH `
-DBUILD_SHARED_LIBS=OFF `
-DPCRE2_BUILD_TESTS=OFF `
-DPCRE2_BUILD_PCRE2GREP=OFF `
-DPCRE2_SUPPORT_JIT=OFF `
-DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$<CONFIG:Debug>:Debug>""" `
-DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\pcre2"""; `
-DCMAKE_C_FLAGS_RELEASE:string="""/MT""" ..; `
msbuild PCRE2.sln `
-maxcpucount:"""$env:NUMBER_OF_PROCESSORS""" `
/verbosity:quiet `
/property:Configuration=Release `
/property:Platform=$env:BUILD_ARCH `
/target:pcre2-8-static; `
`
cmake --build $env:BUILD_SRC\pcre2\build --config Release --parallel; `
cmake --install $env:BUILD_SRC\pcre2\build --config Release; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\pcre2 | Out-Null; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\pcre2\include | Out-Null; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\pcre2\lib | Out-Null; `
Copy-Item $env:BUILD_SRC\pcre2\build\*.h -Destination $env:BUILD_OUTPUT\pcre2\include; `
Copy-Item $env:BUILD_SRC\pcre2\build\Release\* -Destination $env:BUILD_OUTPUT\pcre2\lib; `
Remove-Item -Path $env:BUILD_SRC\pcre2\build\* -Force -Recurse; `
Write-Host 'PCRE2 is ready...'; `
`
Remove-Item -Recurse -Force -Path $env:BUILD_OUTPUT\pcre2\share -ErrorAction SilentlyContinue; `
Remove-Item -Recurse -Force $env:BUILD_SRC\pcre2\build; `
Write-Host 'PCRE2 is ready...';
RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=x64"""; `
Write-Host 'Building Libmodbus library...'; `
`
Write-Host 'Building Libmodbus library ...'; `
$env:CL = """$env:CL /MP"""; `
Set-Location -Path $env:BUILD_SRC\libmodbus\src\win32; `
cscript //nologo .\configure.js; `
Set-Location -Path $env:BUILD_SRC\libmodbus; `
cmake -S $env:BUILD_SRC\libmodbus -B $env:BUILD_SRC\libmodbus\build `
-G """"Visual Studio 17 2022""" `
-A x64 `
-DBUILD_SHARED_LIBS=OFF `
-DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$<CONFIG:Debug>:Debug>""" `
-DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\libmodbus"""; `
cscript .\configure.js; `
msbuild modbus.vs16.sln `
-maxcpucount:"""$env:NUMBER_OF_PROCESSORS""" `
/verbosity:quiet `
/property:Configuration=Release `
/property:Platform=$env:BUILD_ARCH; `
`
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\libmodbus | Out-Null; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\libmodbus\include | Out-Null; `
New-Item -ItemType directory -Path $env:BUILD_OUTPUT\libmodbus\lib | Out-Null; `
Copy-Item $env:BUILD_SRC\libmodbus\src\*.h -Destination $env:BUILD_OUTPUT\libmodbus\include; `
Copy-Item $env:BUILD_SRC\libmodbus\src\win32\$env:BUILD_ARCH\Release\*.lib -Destination $env:BUILD_OUTPUT\libmodbus\lib; `
Copy-Item $env:BUILD_SRC\libmodbus\src\win32\$env:BUILD_ARCH\Release\*.pdb -Destination $env:BUILD_OUTPUT\libmodbus\lib; `
Remove-Item -Path $env:BUILD_SRC\libmodbus\src\win32\$env:BUILD_ARCH -Force -Recurse; `
Write-Host 'Libmodbus is ready...'; `
`
cmake --build $env:BUILD_SRC\libmodbus\build --config Release --parallel; `
cmake --install $env:BUILD_SRC\libmodbus\build --config Release; `
Remove-Item -Recurse -Force $env:BUILD_SRC\libmodbus\build; `
Write-Host 'Libmodbus is ready...';
RUN Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=x64"""; `
Write-Host 'Building Curl library...'; `
Set-Location -Path $env:BUILD_SRC\curl; `
$env:CL = """$env:CL /MP"""; `
cmake -S $env:BUILD_SRC\curl -B $env:BUILD_SRC\curl\build `
-G """Visual Studio 17 2022""" `
-A x64 `
-DCMAKE_MSVC_RUNTIME_LIBRARY="""MultiThreaded$<$<CONFIG:Debug>:Debug>""" `
-DBUILD_CURL_EXE=OFF `
-DBUILD_EXAMPLES=OFF `
-DBUILD_LIBCURL_DOCS=OFF `
-DBUILD_SHARED_LIBS=OFF `
-DBUILD_STATIC_LIBS=ON `
-DCURL_DISABLE_LDAP=ON `
-DCURL_DISABLE_LDAPS=ON `
-DCURL_STATIC_CRT=ON `
-DCURL_USE_LIBPSL=OFF `
-DCURL_USE_OPENSSL=ON `
-DCURL_ZLIB=ON `
-DENABLE_UNICODE=ON `
-DOPENSSL_ROOT_DIR="""$env:BUILD_OUTPUT\openssl""" `
-DOPENSSL_USE_STATIC_LIBS=ON `
-DUSE_WIN32_IDN=OFF `
-DZLIB_INCLUDE_DIR="""$env:BUILD_OUTPUT\zlib\include""" `
-DZLIB_LIBRARY="""$env:BUILD_OUTPUT\zlib\lib\zlibstatic.lib""" `
-DZLIB_USE_STATIC_LIBS=ON `
-DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\curl"""; `
cmake --build $env:BUILD_SRC\curl\build --config Release --parallel; `
cmake --install $env:BUILD_SRC\curl\build --config Release; `
Remove-Item -Path $env:BUILD_SRC\curl\build\ -Force -Recurse;
Set-Location -Path $env:BUILD_SRC\curl\winbuild; `
(Get-Content MakefileBuild.vc).replace(' wldap32.lib', '') | Set-Content MakefileBuild.vc; `
set CL=/MP; `
nmake /S -f Makefile.vc `
mode=static `
VC=$env:VS_BUILDTOOLS_VERSION `
DEBUG=no `
CC="""cl.exe /DCURL_DISABLE_LDAP /DCURL_DISABLE_LDAPS""" `
MACHINE=$env:BUILD_ARCH `
USE_IPV6=yes `
ENABLE_UNICODE=yes `
USE_IDN=no `
GEN_PDB=no `
WITH_SSL=static `
SSL_PATH=$env:BUILD_OUTPUT\openssl `
WITH_ZLIB=static `
ZLIB_PATH=$env:BUILD_OUTPUT\zlib `
RTLIBCFG=static; `
`
Move-Item -Path $env:BUILD_SRC\curl\builds\libcurl-vc$env:VS_BUILDTOOLS_VERSION-$env:BUILD_ARCH-release-static-ssl-static-zlib-static-sspi\ -Destination $env:BUILD_OUTPUT\curl; `
Remove-Item -Path $env:BUILD_SRC\curl\builds\* -Force -Recurse; `
Write-Host 'Curl is ready...';

View File

@ -2,16 +2,18 @@
# escape=`
ARG OS_BASE_IMAGE=mcr.microsoft.com/windows/servercore:ltsc2022
ARG PCRE2_VERSION=10.47
ARG OPENSSL_VERSION=3.5.4
ARG GOLANG_VERSION=1.25.5
ARG PCRE2_VERSION=10.45
ARG OPENSSL_VERSION=3.4.1
ARG GOLANG_VERSION=1.24.3
ARG VS_BUILDTOOLS_VERSION=17
ARG PWSH_VERSION=7.5.4
ARG PWSH_VERSION=7.5.1
ARG MSYSTEM=UCRT64
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG BUILD_ARCH=x64
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
FROM ${OS_BASE_IMAGE} as src
@ -23,25 +25,24 @@ ARG PWSH_VERSION
ARG MSYSTEM
ARG MINGW_URL=https://github.com/niXman/mingw-builds-binaries/releases/download/15.2.0-rt_v13-rev0/x86_64-15.2.0-release-win32-seh-ucrt-rt_v13-rev0.7z
ARG MINGW_URL=https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0.7z
ARG VS_BUILDTOOLS_URL=https://aka.ms/vs/$VS_BUILDTOOLS_VERSION/release/vs_buildtools.exe
ARG GOLANG_URL=https://go.dev/dl/go$GOLANG_VERSION.windows-amd64.zip
ARG MSYS2_URL=https://github.com/msys2/msys2-installer/releases/download/2025-12-13/msys2-base-x86_64-20251213.sfx.exe
ARG MSYS2_URL=https://github.com/msys2/msys2-installer/releases/download/2025-02-21/msys2-base-x86_64-20250221.sfx.exe
ARG PCRE2_URL=https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.zip
ARG PCRE2_URL=https://github.com/PhilipHazel/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.zip
ARG OPENSSL_URL=https://github.com/openssl/openssl/releases/download/openssl-$OPENSSL_VERSION/openssl-$OPENSSL_VERSION.tar.gz
ARG PWSH_URL=https://github.com/PowerShell/PowerShell/releases/download/v$PWSH_VERSION/PowerShell-$PWSH_VERSION-win-x64.zip
ADD --checksum=sha256:b40d192ae95ba6ccc4cc362ff4e1b18ca6fb5055bebbcd3920684e12701fa8f6 $PWSH_URL build_deps\pwsh.zip
ADD --checksum=sha256:ae756cce1cb80c819b4fe01b0353807178f532211b47f72d7fa77949de054ebb $GOLANG_URL build_deps\go_lang.zip
ADD --checksum=sha256:9e9f0b912a59d2cfb3ce5a01bae4e7a05e4be4f8ff89e36e0f57606ec525525d $MINGW_URL build_deps\mingw.7z
ADD --checksum=sha256:99f2fee9a7b1c344600ac97347e7be23a1f802d8d843b339ec7473a8ed8d49a6 $MSYS2_URL build_deps\msys2.sfx.exe
ADD --checksum=sha256:4d3028da81170f8d1cd226614582f0a95d3dd5592127cf87a09e3a3568e51a08 $PWSH_URL build_deps\pwsh.zip
ADD --checksum=sha256:be9787cb08998b1860fe3513e48a5fe5b96302d358a321b58e651184fa9638b3 $GOLANG_URL build_deps\go_lang.zip
ADD --checksum=sha256:d7270f76483aefe0c88f45284b374e27648dec59fb6f89ee2f5cb62f6a060082 $MINGW_URL build_deps\mingw.7z
ADD --checksum=sha256:6d4952fd65d1924c56620355c3c7d5a1b40e3c7d7be358f6eb1017363d2dbbb1 $MSYS2_URL build_deps\msys2.sfx.exe
ADD $VS_BUILDTOOLS_URL build_deps\vs_buildtools.exe
ADD --checksum=sha256:d74c183c86c77248ad50017c7f45bae8f88106a6cca5d87ad09917e1c6fb0784 $PCRE2_URL build_src\pcre2.zip
ADD --checksum=sha256:967311f84955316969bdb1d8d4b983718ef42338639c621ec4c34fddef355e99 $OPENSSL_URL build_src\openssl.tar.gz
ADD --checksum=sha256:0e138387df7835d7403b8351e2226c1377da804e0737db0e071b48f07c9d12ee $PCRE2_URL build_src\pcre2.zip
ADD --checksum=sha256:002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3 $OPENSSL_URL build_src\openssl.tar.gz
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
@ -100,8 +101,8 @@ RUN $env:BUILD_SRC = [string]::Format('{0}\build_src', $env:SystemDrive); `
Remove-Item -Force -Recurse $env:BUILD_SRC\*.zip; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.tar.gz; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.zip; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\msys2.sfx.exe; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.7z;
Remove-Item -Force -Recurse $env:BUILD_DEPS\msys2.sfx.exe; `
Remove-Item -Force -Recurse $env:BUILD_DEPS\*.7z;
FROM ${OS_BASE_IMAGE}
@ -112,12 +113,16 @@ ARG VS_BUILDTOOLS_VERSION
ARG MSYSTEM
ARG BUILD_ARCH
ARG MAJOR_VERSION
ARG ZBX_VERSION
ENV ZBX_VERSION=$ZBX_VERSION `
VS_BUILDTOOLS_VERSION=$VS_BUILDTOOLS_VERSION GOLANG_VERSION=$GOLANG_VERSION `
BUILD_ARCH=$BUILD_ARCH `
MINGW_URL=$MINGW_URL VS_BUILDTOOLS_URL=$VS_BUILDTOOLS_URL VS_BUILDTOOLS_VERSION=$VS_BUILDTOOLS_VERSION GOLANG_VERSION=$GOLANG_VERSION MSYS2_URL=$MSYS2_URL `
PCRE2_VERSION=$PCRE2_VERSION OPENSSL_VERSION=$OPENSSL_VERSION `
PCRE2_URL=$PCRE2_URL OPENSSL_URL=$OPENSSL_URL `
CHERE_INVOKING=yes MSYSTEM=$MSYSTEM
LABEL org.opencontainers.image.title="Zabbix agent 2 build base for Windows" `
@ -135,6 +140,7 @@ COPY --from=src build_deps build_deps
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Set-Location -Path $env:SystemDrive\.; `
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; `
`
$env:BUILD_OUTPUT = [string]::Format('{0}\build_output', $env:SystemDrive); `
[Environment]::SetEnvironmentVariable('BUILD_OUTPUT', $env:BUILD_OUTPUT, [EnvironmentVariableTarget]::Machine); `
@ -181,50 +187,40 @@ RUN Set-Location -Path $env:SystemDrive\.; `
Write-Host 'Visual Studio components installation cleanup'; `
Get-ChildItem -Path """${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer""" -Directory -Recurse | Remove-Item -Force -Recurse; `
`
Write-Host 'Build environment is ready...';
RUN Write-Host 'Building PCRE2 library ...'; `
Write-Host 'Build environment is ready...'; `
`
Write-Host 'Building PCRE2 library ...'; `
Set-Location -Path $env:BUILD_SRC\pcre2; `
cmake -S $env:BUILD_SRC\pcre2 -B $env:BUILD_SRC\pcre2\build `
cmake --log-level=ERROR `
-G 'MinGW Makefiles' `
-DBUILD_SHARED_LIBS=OFF `
-DBUILD_STATIC_LIBS=ON `
-DPCRE2_DEBUG=OFF `
-DPCRE2_BUILD_TESTS=OFF `
-DPCRE2_BUILD_PCRE2GREP=OFF `
-DPCRE2_SUPPORT_JIT=OFF `
-DINSTALL_MSVC_PDB=OFF `
-DCMAKE_C_COMPILER=gcc `
-DCMAKE_C_FLAGS='-O2 -g' `
-DCMAKE_INSTALL_PREFIX="""$env:BUILD_OUTPUT\pcre2""" . ; `
Set-Location -Path $env:BUILD_SRC\pcre2\build; `
mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS"""; `
mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS""" install; `
mingw32-make -s clean | Out-Null; `
Remove-Item -Recurse -Force -Path $env:BUILD_OUTPUT\pcre2\share -ErrorAction SilentlyContinue; `
Write-Host 'PCRE2 is ready...';
RUN Write-Host 'Building OpenSSL library...'; `
Remove-Item -Path $env:BUILD_OUTPUT\pcre2\share -Force -Recurse; `
Write-Host 'PCRE2 is ready...'; `
`
Write-Host 'Building OpenSSL library...'; `
Set-Location -Path $env:BUILD_SRC\openssl; `
perl Configure `
mingw64 `
no-capieng `
no-docs `
no-dgram `
no-dtls1-method `
no-dtls1_2-method `
no-gost `
no-shared `
no-srp `
no-tests `
no-ui-console `
no-winstore `
thread_scheme=winthreads `
no-tests `
no-unit-test `
no-capieng `
--api=1.1.0 `
--libdir=lib `
--prefix=$env:BUILD_OUTPUT/openssl `
--openssldir=$env:BUILD_OUTPUT/openssl_ssl; `
mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS""" build_libs; `
mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS""" build_sw; `
mingw32-make -s -j"""$env:NUMBER_OF_PROCESSORS""" install_dev; `
mingw32-make -s clean | Out-Null; `
Write-Host 'OpenSSL is ready...'; `

View File

@ -11,8 +11,8 @@ ARG MSYSTEM=CLANG64
ARG BUILD_ARCH=x64
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG VS_BUILDTOOLS_URL=https://aka.ms/vs/17/release/vs_buildtools.exe
ARG GOLANG_URL=https://go.dev/dl/go$GOLANG_VERSION.windows-amd64.zip

View File

@ -11,8 +11,8 @@ ARG MSYSTEM=MINGW64
ARG BUILD_ARCH=x64
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG MINGW_URL=https://github.com/niXman/mingw-builds-binaries/releases/download/14.2.0-rt_v12-rev0/x86_64-14.2.0-release-win32-seh-msvcrt-rt_v12-rev0.7z
ARG VS_BUILDTOOLS_URL=https://aka.ms/vs/17/release/vs_buildtools.exe

View File

@ -7,8 +7,8 @@ ARG GOLANG_VERSION=1.23.2
ARG BUILD_ARCH=x64
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG GIT_URL=https://github.com/git-for-windows/git/releases/download/v2.47.1.windows.1/MinGit-2.47.1-busybox-64-bit.zip

View File

@ -0,0 +1,31 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29613.14
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "modbus", "modbus.vs16.vcxproj", "{498E0845-C7F4-438B-8EDE-EF7FC9A74430}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Debug|x64.ActiveCfg = Debug|x64
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Debug|x64.Build.0 = Debug|x64
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Debug|x86.ActiveCfg = Debug|Win32
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Debug|x86.Build.0 = Debug|Win32
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Release|x64.ActiveCfg = Release|x64
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Release|x64.Build.0 = Release|x64
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Release|x86.ActiveCfg = Release|Win32
{498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6CF51673-664F-4C9F-B3FE-991FF423F3B6}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,265 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>modbus</ProjectName>
<ProjectGuid>{498E0845-C7F4-438B-8EDE-EF7FC9A74430}</ProjectGuid>
<RootNamespace>modbus</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>16.0.29511.113</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<EnableManagedIncrementalBuild>False</EnableManagedIncrementalBuild>
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<EnableManagedIncrementalBuild>False</EnableManagedIncrementalBuild>
<LinkIncremental>false</LinkIncremental>
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent>
<Command />
</PreBuildEvent>
<CustomBuildStep>
<Message />
<Command />
</CustomBuildStep>
<ClCompile>
<Optimization>Disabled</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<WholeProgramOptimization>false</WholeProgramOptimization>
<AdditionalIncludeDirectories>.;..</AdditionalIncludeDirectories>
<PreprocessorDefinitions>W32DEBUG;HAVE_CONFIG_H;DLLBUILD;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NONSTDC_NO_DEPRECATE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling />
<BasicRuntimeChecks>UninitializedLocalUsageCheck</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_MSC_VER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ResourceOutputFileName>$(SolutionDir)/modbus.res</ResourceOutputFileName>
</ResourceCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<Version>
</Version>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateMapFile>true</GenerateMapFile>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress />
<DataExecutionPrevention />
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
<Command />
</PreBuildEvent>
<CustomBuildStep>
<Message />
<Command />
</CustomBuildStep>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<WholeProgramOptimization>false</WholeProgramOptimization>
<AdditionalIncludeDirectories>.;..</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;DLLBUILD;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NONSTDC_NO_DEPRECATE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling />
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<FloatingPointModel>Fast</FloatingPointModel>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<StackReserveSize>1048576</StackReserveSize>
<StackCommitSize>524288</StackCommitSize>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<LinkTimeCodeGeneration />
<EntryPointSymbol />
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention />
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
<Command />
</PreBuildEvent>
<CustomBuildStep>
<Message />
<Command />
</CustomBuildStep>
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
<AdditionalIncludeDirectories>.;..</AdditionalIncludeDirectories>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<PreprocessorDefinitions>W32DEBUG;_WINDLL;HAVE_CONFIG_H;DLLBUILD;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NONSTDC_NO_DEPRECATE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<StackReserveSize>1048576</StackReserveSize>
<StackCommitSize>524288</StackCommitSize>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command />
</PreBuildEvent>
<CustomBuildStep>
<Message />
<Command />
</CustomBuildStep>
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<WholeProgramOptimization>false</WholeProgramOptimization>
<AdditionalIncludeDirectories>.;..</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<PreprocessorDefinitions>_WINDLL;HAVE_CONFIG_H;DLLBUILD;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NONSTDC_NO_DEPRECATE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<StackReserveSize>1048576</StackReserveSize>
<StackCommitSize>524288</StackCommitSize>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<LinkTimeCodeGeneration />
<TargetMachine>MachineX64</TargetMachine>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\modbus-data.c" />
<ClCompile Include="..\modbus-rtu.c" />
<ClCompile Include="..\modbus-tcp.c" />
<ClCompile Include="..\modbus.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\modbus-private.h" />
<ClInclude Include="..\modbus-rtu-private.h" />
<ClInclude Include="..\modbus-rtu.h" />
<ClInclude Include="..\modbus-tcp-private.h" />
<ClInclude Include="..\modbus-tcp.h" />
<ClInclude Include="..\modbus.h" />
<ClInclude Include="config.h" />
<ClInclude Include="modbus-version.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="modbus.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\modbus-data.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\modbus-rtu.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\modbus-tcp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\modbus.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\modbus-private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\modbus-rtu-private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\modbus-rtu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\modbus-tcp-private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\modbus-tcp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="modbus-version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\modbus.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="modbus.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@ -14,7 +14,7 @@ Zabbix build base (MySQL) image is used for building Zabbix components. It conta
# Zabbix build base (MySQL) images
These are the only official Zabbix build base (MySQL) Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
These are the only official Zabbix build base (MySQL) Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
Zabbix build base 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix build base 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -32,7 +32,7 @@ Images are updated when new releases are published. The image with ``latest`` ta
The image is used to build / compile Zabbix components. Components are prepared for usage in any other images.
The image uses [Zabbix build base](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) image with prepared build environment as base image and build / compile Zabbix components only.
The image uses [Zabbix build base](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) image with prepared build environment as base image and build / compile Zabbix components only.
# The image variants
@ -66,7 +66,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
## Issues

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -64,7 +64,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -84,7 +84,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
--with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -64,7 +64,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -84,7 +84,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -64,7 +64,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -84,7 +84,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -10,14 +10,14 @@ ARG MAJOR_VERSION
ARG RELEASE
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
LABEL description="Zabbix build base for MySQL based images" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-build-mysql-74" \
name="zabbix/zabbix-build-mysql-trunk" \
release="${RELEASE}" \
summary="Zabbix build base (MySQL)" \
url="https://www.zabbix.com/" \
@ -75,7 +75,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -95,7 +95,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -64,7 +64,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -84,7 +84,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
--with-libmodbus \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
# escape=`
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ltsc2022-agent-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -11,7 +11,7 @@ ARG ZBX_VERSION
ARG ZABBIX_VERSION_RC_NUM=2400
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ENV ZBX_SOURCES=$ZBX_SOURCES MAJOR_VERSION=$MAJOR_VERSION ZBX_VERSION=$ZBX_VERSION GIT_BRANCH=${GIT_BRANCH:-$ZBX_VERSION} `
ZABBIX_VERSION_RC_NUM=$ZABBIX_VERSION_RC_NUM `
@ -36,11 +36,11 @@ RUN Set-Location -Path $env:SystemDrive\.; `
New-Item -ItemType directory -Path $env:SystemDrive\zabbix_src | Out-Null; `
New-Item -ItemType directory -Path $env:ZBX_OUTPUT_DIR | Out-Null; `
New-Item -ItemType directory -Path $env:ZBX_OUTPUT_DIR\sbin | Out-Null; `
New-Item -ItemType directory -Path $env:ZBX_OUTPUT_DIR\bin | Out-Null; `
New-Item -ItemType directory -Path $env:ZBX_OUTPUT_DIRt\bin | Out-Null; `
New-Item -ItemType directory -Path $env:ZBX_OUTPUT_DIR\conf | Out-Null; `
`
Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=x64"""; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; `
`
Write-Host ('Checkout GIT {0} ({1}) repository ...' -f $env:ZBX_SOURCES, $env:GIT_BRANCH); `
git -c advice.detachedHead=false clone $env:ZBX_SOURCES --branch $env:GIT_BRANCH --depth 1 --single-branch $env:ZBX_SOURCES_DIR; `
@ -50,7 +50,7 @@ RUN Set-Location -Path $env:SystemDrive\.; `
$ZbxRevision=(git rev-parse --short HEAD); `
(Get-Content include/version.h).replace('{ZABBIX_REVISION}', $ZbxRevision) | Set-Content include/version.h; `
Set-Location -Path $env:ZBX_SOURCES_DIR\build\win32\project; `
$env:CL = """$env:CL /MP /MT"""; `
set CL=/MP; `
nmake /S -f Makefile `
CPU=$env:CPU_MODEL `
CFLAGS="""/D CURL_STATICLIB /D HAVE_LIBCURL /I "$env:BUILD_OUTPUT\curl\include" /D ZABBIX_VERSION_REVISION=$ZbxRevision /D HAVE_LIBMODBUS_STATIC /D DEFAULT_CONFIG_FILE=$env:SystemDrive\zabbix\conf\zabbix_agentd.conf""" `
@ -61,7 +61,7 @@ RUN Set-Location -Path $env:SystemDrive\.; `
TLSLIBDIR=$env:BUILD_OUTPUT\openssl\lib `
MODBINCDIR=$env:BUILD_OUTPUT\libmodbus\include `
MODBLIBDIR=$env:BUILD_OUTPUT\libmodbus\lib `
LIBS="""$env:LIBS Crypt32.lib $env:BUILD_OUTPUT\curl\lib\libcurl.lib $env:BUILD_OUTPUT\zlib\lib\zlibstatic.lib""" `
LIBS="""$env:LIBS Crypt32.lib $env:BUILD_OUTPUT\curl\lib\libcurl_a.lib $env:BUILD_OUTPUT\zlib\lib\zlib.lib""" `
all; `
`
Write-Host 'Verifying build ("zabbix_agentd.exe -V") ...'; `

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
# escape=`
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ltsc2022-agent2-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -16,7 +16,7 @@ ARG POSTGRESQL_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/postgresql.git
ARG MSSQL_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/mssql.git
ARG EMBER_PLUS_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/ember-plus.git
ARG NVIDIA_GPU_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/nvidia-gpu.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
@ -53,7 +53,7 @@ RUN Set-Location -Path $env:SystemDrive\.; `
New-Item -ItemType directory -Path $env:ZBX_OUTPUT_DIR\zabbix-agent2-plugin | Out-Null; `
`
Import-Module (Get-ChildItem $env:VS_PATH -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=x64"""; `
Enter-VsDevShell -VsInstallPath $env:VS_PATH -SkipAutomaticLocation -DevCmdArguments """-arch=$env:BUILD_ARCH"""; `
`
Write-Host ('Checkout GIT {0} ({1}) repository ...' -f $env:ZBX_SOURCES, $env:GIT_BRANCH); `
git -c advice.detachedHead=false clone $env:ZBX_SOURCES --branch $env:GIT_BRANCH --depth 1 --single-branch $env:ZBX_SOURCES_DIR; `

View File

@ -1,22 +1,22 @@
# syntax=docker/dockerfile:1
# escape=`
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ltsc2022-agent2-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG ZABBIX_VERSION_RC_NUM=2400
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG MONGODB_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/mongodb.git
ARG POSTGRESQL_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/postgresql.git
ARG MSSQL_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/mssql.git
ARG EMBER_PLUS_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/ember-plus.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}

View File

@ -1,22 +1,22 @@
# syntax=docker/dockerfile:1
# escape=`
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ltsc2022-agent2-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.0
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG ZABBIX_VERSION_RC_NUM=2400
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG MONGODB_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/mongodb.git
ARG POSTGRESQL_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/postgresql.git
ARG MSSQL_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/mssql.git
ARG EMBER_PLUS_PLUGIN_SOURCES=https://git.zabbix.com/scm/ap/ember-plus.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}

View File

@ -14,7 +14,7 @@ Zabbix build base (PostgreSQL) image is used for building Zabbix components. It
# Zabbix build base (PostgreSQL) images
These are the only official Zabbix build base (PostgreSQL) Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
These are the only official Zabbix build base (PostgreSQL) Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
Zabbix build base 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix build base 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -32,7 +32,7 @@ Images are updated when new releases are published. The image with ``latest`` ta
The image is used to build / compile Zabbix components. Components are prepared for usage in any other images.
The image uses [Zabbix build base](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) image with prepared build environment as base image and build / compile Zabbix components only.
The image uses [Zabbix build base](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) image with prepared build environment as base image and build / compile Zabbix components only.
# The image variants
@ -66,7 +66,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
## Issues

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -66,7 +66,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -86,7 +86,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
--with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -66,7 +66,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -85,7 +85,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -66,7 +66,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -86,7 +86,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -10,14 +10,14 @@ ARG MAJOR_VERSION
ARG RELEASE
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
LABEL description="Zabbix build base for PostgreSQL based images" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-build-pgsql-74" \
name="zabbix/zabbix-build-pgsql-trunk" \
release="${RELEASE}" \
summary="Zabbix build base (PostgreSQL)" \
url="https://www.zabbix.com/" \
@ -77,7 +77,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -97,7 +97,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -66,7 +66,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -85,7 +85,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-proxy \
--enable-server \
--enable-webservice \
--with-ares \
--with-ldap \
--with-libcurl \
--with-libmodbus \

View File

@ -14,7 +14,7 @@ Zabbix build base (SQLite3) image is used for building Zabbix components. It con
# Zabbix build base (SQLite3) images
These are the only official Zabbix build base (SQLite3) Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
These are the only official Zabbix build base (SQLite3) Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of the image are:
Zabbix build base 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix build base 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -32,7 +32,7 @@ Images are updated when new releases are published. The image with ``latest`` ta
The image is used to build / compile Zabbix components. Components are prepared for usage in any other images.
The image uses [Zabbix build base](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) image with prepared build environment as base image and build / compile Zabbix components only.
The image uses [Zabbix build base](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) image with prepared build environment as base image and build / compile Zabbix components only.
It contains limited prepared Zabbix components while MySQL and PostgreSQL build base images contain all possible components:
* zabbix-agent
@ -72,7 +72,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
Documentation for this image is stored in the [`build-base/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/build-base) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/master/README.md) before attempting a pull request.
## Issues

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -58,7 +58,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -76,7 +76,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-agent2 \
--enable-java \
--enable-proxy \
--with-ares \
--with-ldap \
--with-libcurl \
--with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -58,7 +58,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -76,7 +76,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-agent2 \
--enable-java \
--enable-proxy \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -58,7 +58,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -76,7 +76,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-agent2 \
--enable-java \
--enable-proxy \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -10,14 +10,14 @@ ARG MAJOR_VERSION
ARG RELEASE
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
LABEL description="Zabbix build base for SQLite3 based images" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-build-sqlite3-74" \
name="zabbix/zabbix-build-sqlite3-trunk" \
release="${RELEASE}" \
summary="Zabbix build base (SQLite3)" \
url="https://www.zabbix.com/" \
@ -69,7 +69,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -87,7 +87,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-agent2 \
--enable-java \
--enable-proxy \
--with-ares \
--with-ldap \
--with-libcurl \
# --with-libmodbus \

View File

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-base:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -8,7 +8,7 @@ FROM ${BUILD_BASE_IMAGE} AS builder
ARG MAJOR_VERSION
ARG ZBX_VERSION
ARG ZBX_SOURCES=https://git.zabbix.com/scm/zbx/zabbix.git
ARG GIT_BRANCH
ARG GIT_BRANCH=master
ARG ZBX_PLUGINS_VERSION=${GIT_BRANCH:-$ZBX_VERSION}
ARG CFLAGS
@ -58,7 +58,7 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
cd ${ZBX_SOURCES_DIR} && \
for patch_filename in /tmp/patches/*.patch; do \
if [ -f "$patch_filename" ]; then \
patch -p1 < "$patch_filename"; \
patch -p1 < $patch_filename; \
fi \
done && \
zabbix_revision=`git rev-parse --short HEAD` && \
@ -76,7 +76,6 @@ RUN --mount=type=cache,target=/root/.cache/go-build/ \
--enable-agent2 \
--enable-java \
--enable-proxy \
--with-ares \
--with-ldap \
--with-libcurl \
--with-libmodbus \

View File

@ -14,7 +14,7 @@ Zabbix Java Gateway performs native support for monitoring JMX applications. Jav
# Zabbix Java Gateway images
These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix Java Gateway are:
These are the only official Zabbix Java Gateway Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix Java Gateway are:
Zabbix Java Gateway 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix Java Gateway 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -118,7 +118,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`java-gateway/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/java-gateway) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`java-gateway/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/java-gateway) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -21,9 +21,9 @@ ENV TERM=xterm \
LABEL description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-java-gateway-74" \
name="zabbix/zabbix-java-gateway-trunk" \
release="${RELEASE}" \
run="docker run --name zabbix-java-gateway -p 10052:10052 -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-74:${ZBX_VERSION}" \
run="docker run --name zabbix-java-gateway -p 10052:10052 -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-trunk:${ZBX_VERSION}" \
summary="Zabbix Java Gateway" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -34,7 +34,7 @@ LABEL description="Zabbix Java Gateway performs native support for monitoring JM
io.openshift.tags="gateway,zabbix-java,java" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix Java Gateway performs native support for monitoring JMX applications" \
org.label-schema.docker.cmd="docker run --name zabbix-java-gateway -p 10052:10052 -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="docker run --name zabbix-java-gateway -p 10052:10052 -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-java-gateway-rhel" \
org.label-schema.schema-version="1.0" \

View File

@ -38,7 +38,7 @@
<p>The volume allows include additional JAR files to extend allowed protocols for Zabbix Java Gateway.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/Dockerfiles/7.4/java-gateway"><code>java-gateway/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/Dockerfiles/trunk/java-gateway"><code>java-gateway/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder

View File

@ -14,7 +14,7 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni
# Zabbix proxy images
These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix proxy are:
These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix proxy are:
Zabbix proxy 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix proxy 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -324,7 +324,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`proxy-mysql/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/proxy-mysql) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`proxy-mysql/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/proxy-mysql) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -16,7 +16,6 @@ ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
NMAP_PRIVILEGED="" \
MARIADB_TLS_DISABLE_PEER_VERIFICATION=1 \
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
ZABBIX_CONF_DIR="/etc/zabbix"
@ -54,7 +53,6 @@ RUN set -eux && \
krb5 \
iputils \
openssl \
c-ares \
libcap \
libcurl \
libevent \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -53,7 +53,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
gzip \
libssh \
file-libs \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -54,7 +54,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
libssh \
file-libs \
fping \

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -32,9 +32,9 @@ ENV ZBX_DB_NAME="dummy_db_name" \
LABEL description="Zabbix proxy with MySQL database support" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-proxy-mysql-74" \
name="zabbix/zabbix-proxy-mysql-trunk" \
release="${RELEASE}" \
run="docker run --name zabbix-proxy --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-mysql-74:${ZBX_VERSION}" \
run="docker run --name zabbix-proxy --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-mysql-trunk:${ZBX_VERSION}" \
summary="Zabbix proxy (MySQL)" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -45,7 +45,7 @@ LABEL description="Zabbix proxy with MySQL database support" \
io.openshift.tags="zabbix,zabbix-proxy,mysql" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix proxy with MySQL database support" \
org.label-schema.docker.cmd="docker run --name zabbix-proxy --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-mysql-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="docker run --name zabbix-proxy --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-mysql-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-proxy-mysql-rhel" \
org.label-schema.schema-version="1.0" \
@ -72,7 +72,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
shadow-utils \
fping \
iputils \

View File

@ -188,7 +188,7 @@ SNMP traps processing feature could be enabled using shared volume and switched
<p>The volume allows to add new MIB files. It does not support subdirectories, all MIBs must be placed to <code>/var/lib/zabbix/mibs</code>.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/Dockerfiles/7.4/proxy-mysql"><code>proxy-mysql/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/Dockerfiles/trunk/proxy-mysql"><code>proxy-mysql/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -58,7 +58,6 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \
ca-certificates \
fping \
openssl \
libcares2 \
libcurl4t64 \
libevent-2.1 \
libevent-pthreads-2.1 \

View File

@ -14,7 +14,7 @@ Zabbix proxy is a process that may collect monitoring data from one or more moni
# Zabbix proxy images
These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix proxy are:
These are the only official Zabbix proxy Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix proxy are:
Zabbix proxy 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix proxy 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -280,7 +280,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`proxy-sqlite3/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/proxy-sqlite3) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`proxy-sqlite3/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/proxy-sqlite3) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-sqlite3:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -52,7 +52,6 @@ RUN set -eux && \
fping \
iputils \
openssl \
c-ares \
libcap \
libcurl \
libevent \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-sqlite3:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -51,7 +51,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
libssh \
fping \
iputils \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-sqlite3:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -52,7 +52,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
libssh \
fping \
iputils \

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-sqlite3:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -31,9 +31,9 @@ ENV ZBX_FPINGLOCATION="/usr/sbin/fping" \
LABEL description="Zabbix proxy with SQLite3 database support" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-proxy-sqlite-74" \
name="zabbix/zabbix-proxy-sqlite-trunk" \
release="${RELEASE}" \
run="docker run --name zabbix-proxy -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-sqlite-74:${ZBX_VERSION}" \
run="docker run --name zabbix-proxy -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-sqlite-trunk:${ZBX_VERSION}" \
summary="Zabbix proxy (SQLite3)" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -44,7 +44,7 @@ LABEL description="Zabbix proxy with SQLite3 database support" \
io.openshift.tags="zabbix,zabbix-proxy,sqlite" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix proxy with SQLite3 database support" \
org.label-schema.docker.cmd="docker run --name zabbix-proxy -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-sqlite3-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="docker run --name zabbix-proxy -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-proxy-sqlite3-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-proxy-sqlite-rhel" \
org.label-schema.schema-version="1.0" \
@ -70,7 +70,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
shadow-utils \
fping \
iputils \

View File

@ -156,7 +156,7 @@ SNMP traps processing feature could be enabled using shared volume and switched
<p>The volume allows to add new MIB files. It does not support subdirectories, all MIBs must be placed to <code>/var/lib/zabbix/mibs</code>.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/proxy-sqlite3"><code>proxy-sqlite3/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/proxy-sqlite3"><code>proxy-sqlite3/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-sqlite3:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -56,7 +56,6 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \
ca-certificates \
fping \
openssl \
libcares2 \
libcurl4t64 \
libevent-2.1 \
libevent-pthreads-2.1 \

View File

@ -16,7 +16,7 @@ The server performs the polling and trapping of data, it calculates triggers, se
# Zabbix server images
These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix server are:
These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix server are:
Zabbix server 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix server 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -318,7 +318,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`server-mysql/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/server-mysql) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`server-mysql/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/server-mysql) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -16,7 +16,6 @@ ENV TERM=xterm \
ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES} \
MIBDIRS=/usr/share/snmp/mibs:/var/lib/zabbix/mibs MIBS=+ALL \
NMAP_PRIVILEGED="" \
MARIADB_TLS_DISABLE_PEER_VERIFICATION=1 \
ZABBIX_USER_HOME_DIR="/var/lib/zabbix" \
ZABBIX_CONF_DIR="/etc/zabbix"
@ -55,7 +54,6 @@ RUN set -eux && \
tzdata \
iputils \
openssl \
c-ares \
libcap \
libcurl \
libevent \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -53,7 +53,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
hostname \
file-libs \
iputils \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -54,7 +54,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
hostname \
file-libs \
iputils \

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -32,9 +32,9 @@ ENV ZBX_DB_NAME="dummy_db_name" \
LABEL description="Zabbix server with MySQL database support" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-server-mysql-74" \
name="zabbix/zabbix-server-mysql-trunk" \
release="${RELEASE}" \
run="docker run --name zabbix-server --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-74:${ZBX_VERSION}" \
run="docker run --name zabbix-server --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-trunk:${ZBX_VERSION}" \
summary="Zabbix server (MySQL)" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -45,7 +45,7 @@ LABEL description="Zabbix server with MySQL database support" \
io.openshift.tags="zabbix,zabbix-server,mysql" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix server with MySQL database support" \
org.label-schema.docker.cmd="docker run --name zabbix-server --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="docker run --name zabbix-server --link mysql-server:mysql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-server-mysql-rhel" \
org.label-schema.schema-version="1.0" \
@ -72,7 +72,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
fping \
shadow-utils \
iputils \

View File

@ -18,7 +18,7 @@
<h1 id="how-to-use-this-image">How to use this image</h1>
<h2 id="start-zabbix-server-mysql-">Start <code>zabbix-server-mysql</code></h2>
<p>Start a Zabbix server container as follows:</p>
<pre><code>podman <span class="hljs-keyword">run</span><span class="bash"> --name some-zabbix-server-mysql <span class="hljs-_">-e</span> DB_SERVER_HOST=<span class="hljs-string">"some-mysql-server"</span> <span class="hljs-_">-e</span> MYSQL_USER=<span class="hljs-string">"some-user"</span> <span class="hljs-_">-e</span> MYSQL_PASSWORD=<span class="hljs-string">"some-password"</span> --init <span class="hljs-_">-d</span> zabbix/zabbix-server-mysql-74:tag</span>
<pre><code>podman <span class="hljs-keyword">run</span><span class="bash"> --name some-zabbix-server-mysql <span class="hljs-_">-e</span> DB_SERVER_HOST=<span class="hljs-string">"some-mysql-server"</span> <span class="hljs-_">-e</span> MYSQL_USER=<span class="hljs-string">"some-user"</span> <span class="hljs-_">-e</span> MYSQL_PASSWORD=<span class="hljs-string">"some-password"</span> --init <span class="hljs-_">-d</span> zabbix/zabbix-server-mysql-trunk:tag</span>
</code></pre><p>Where <code>some-zabbix-server-mysql</code> is the name you want to assign to your container, <code>some-mysql-server</code> is IP or DNS name of MySQL server, <code>some-user</code> is user to connect to Zabbix database on MySQL server, <code>some-password</code> is the password to connect to MySQL server and <code>tag</code> is the tag specifying the version you want.</p>
<blockquote>
<p>[!NOTE]
@ -192,7 +192,7 @@ SNMP traps processing feature could be enabled using shared volume and switched
<p>Directory for real-time export of events, history and trends in newline-delimited JSON format. Could be enabled using <code>ZBX_EXPORTFILESIZE</code> environment variable.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/server-mysql/rhel/"><code>server-mysql/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/server-mysql/rhel/"><code>server-mysql/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-mysql:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -59,7 +59,6 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \
traceroute \
fping \
openssl \
libcares2 \
libcurl4t64 \
libevent-2.1 \
libevent-pthreads-2.1 \

View File

@ -16,7 +16,7 @@ The server performs the polling and trapping of data, it calculates triggers, se
# Zabbix server images
These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix server are:
These are the only official Zabbix server Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix server are:
Zabbix server 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix server 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -319,7 +319,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`server-pgsql/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/server-pgsql) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`server-pgsql/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/server-pgsql) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=alpine:3.23
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=alpine:3.22
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-pgsql:alpine-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -54,7 +54,6 @@ RUN set -eux && \
tzdata \
iputils \
openssl \
c-ares \
libcap \
libcurl \
libevent \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=quay.io/centos/centos:stream10-minimal
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-pgsql:centos-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -55,7 +55,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
hostname \
nmap \
krb5-workstation \
c-ares \
iputils \
traceroute \
libevent \

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=container-registry.oracle.com/os/oraclelinux:10-slim
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-pgsql:ol-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -56,7 +56,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
iputils \
traceroute \
libevent \

View File

@ -1,8 +1,8 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.1
ARG MAJOR_VERSION=7.4
ARG RELEASE=6
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG OS_BASE_IMAGE=registry.access.redhat.com/ubi10/ubi-minimal:10.0
ARG MAJOR_VERSION=8.0
ARG RELEASE=0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-pgsql:rhel-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -32,9 +32,9 @@ ENV ZBX_DB_NAME="dummy_db_name" \
LABEL description="Zabbix server with PostgreSQL database support" \
maintainer="alexey.pustovalov@zabbix.com" \
name="zabbix/zabbix-server-pgsql-74" \
name="zabbix/zabbix-server-pgsql-trunk" \
release="${RELEASE}" \
run="docker run --name zabbix-server --link postgresql:pgsql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-pgsql-74:${ZBX_VERSION}" \
run="docker run --name zabbix-server --link postgresql:pgsql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-pgsql-trunk:${ZBX_VERSION}" \
summary="Zabbix server (PostgreSQL)" \
url="https://www.zabbix.com/" \
vendor="Zabbix SIA" \
@ -45,7 +45,7 @@ LABEL description="Zabbix server with PostgreSQL database support" \
io.openshift.tags="zabbix,zabbix-server,pgsql" \
org.label-schema.build-date="${BUILD_DATE}" \
org.label-schema.description="Zabbix server with PostgreSQL database support" \
org.label-schema.docker.cmd="docker run --name zabbix-server --link postgresql:pgsql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-pgsql-74:${ZBX_VERSION}" \
org.label-schema.docker.cmd="docker run --name zabbix-server --link postgresql:pgsql-server -p 10051:10051 -d registry.connect.redhat.com/zabbix/zabbix-server-pgsql-trunk:${ZBX_VERSION}" \
org.label-schema.license="AGPL v3.0" \
org.label-schema.name="zabbix-server-pgsql-rhel" \
org.label-schema.schema-version="1.0" \
@ -72,7 +72,6 @@ RUN --mount=type=tmpfs,target=/var/lib/dnf/ \
traceroute \
nmap \
krb5-workstation \
c-ares \
fping \
shadow-utils \
iputils \

View File

@ -192,7 +192,7 @@ SNMP traps processing feature could be enabled using shared volume and switched
<p>Directory for real-time export of events, history and trends in newline-delimited JSON format. Could be enabled using <code>ZBX_EXPORTFILESIZE</code> environment variable.</p>
<h1 id="user-feedback">User Feedback</h1>
<h2 id="documentation">Documentation</h2>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/server-pgsql"><code>server-pgsql/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/7.4/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<p>Documentation for this image is stored in the <a href="https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/server-pgsql"><code>server-pgsql/</code> directory</a> of the <a href="https://github.com/zabbix/zabbix-docker/"><code>zabbix/zabbix-docker</code> GitHub repo</a>. Be sure to familiarize yourself with the <a href="https://github.com/zabbix/zabbix-docker/blob/trunk/README.md">repository&#39;s <code>README.md</code> file</a> before attempting a pull request.</p>
<h2 id="issues">Issues</h2>
<p>If you have any problems with or questions about this image, please contact us through a <a href="https://github.com/zabbix/zabbix-docker/issues">GitHub issue</a>.</p>
<h3 id="known-issues">Known issues</h3>

View File

@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1
ARG OS_BASE_IMAGE=ubuntu:noble
ARG MAJOR_VERSION=7.4
ARG ZBX_VERSION=${MAJOR_VERSION}.6
ARG MAJOR_VERSION=8.0
ARG ZBX_VERSION=${MAJOR_VERSION}
ARG BUILD_BASE_IMAGE=zabbix-build-pgsql:ubuntu-${ZBX_VERSION}
FROM ${BUILD_BASE_IMAGE} AS builder
@ -59,7 +59,6 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \
traceroute \
fping \
openssl \
libcares2 \
libcurl4t64 \
libevent-2.1 \
libevent-pthreads-2.1 \

View File

@ -14,7 +14,7 @@ The image is used to receive SNMP traps, store them to a log file and provide ac
# Zabbix snmptraps images
These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.23, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix snmptraps are:
These are the only official Zabbix snmptraps Docker images. They are based on Alpine Linux v3.22, Ubuntu 24.04 (noble), CentOS Stream 10 and Oracle Linux 10 images. The available versions of Zabbix snmptraps are:
Zabbix snmptraps 6.0 (tags: alpine-6.0-latest, ubuntu-6.0-latest, ol-6.0-latest)
Zabbix snmptraps 6.0.* (tags: alpine-6.0.*, ubuntu-6.0.*, ol-6.0.*)
@ -87,8 +87,6 @@ The volume allows to add new MIB files. It does not support subdirectories, all
The volume various persistent configuration files generated by snmptrapd daemon. The volume is required usually only for SNMPv3 traps. Do not modify manually anything stored in the volume.
The volume also can be used for custom configuration file ``snmptrapd_custom.conf``. The configuration file can be used for SNMPv3 authentification details.
# The image variants
The `zabbix-snmptraps` images come in many flavors, each designed for a specific use case.
@ -121,7 +119,7 @@ Please see [the Docker installation documentation](https://docs.docker.com/insta
## Documentation
Documentation for this image is stored in the [`snmptraps/` directory](https://github.com/zabbix/zabbix-docker/tree/7.4/Dockerfiles/snmptraps) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/7.4/README.md) before attempting a pull request.
Documentation for this image is stored in the [`snmptraps/` directory](https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/snmptraps) of the [`zabbix/zabbix-docker` GitHub repo](https://github.com/zabbix/zabbix-docker/). Be sure to familiarize yourself with the [repository's `README.md` file](https://github.com/zabbix/zabbix-docker/blob/trunk/README.md) before attempting a pull request.
## Issues

Some files were not shown because too many files have changed in this diff Show More