Follow FREE product releases now. If you later buy a PRO product using the same email, the licence will appear in this account automatically.
ChatGPT
FREE PROAI chat widget for Zabbix dashboards with server proxying This widget allows users to interact with AI models directly from Zabbix dashboards, enabling queries about infrastructure without leaving the interface. It supports admin-managed API keys for security and can connect to various AI providers, including OpenAI and custom endpoints. Ideal for teams needing integrated AI assistance for troubleshooting and documentation.
Screenshots
How to install
Install via your OS package manager. Using the initMAX repository (apt / dnf / zypper) is the recommended way - you get GPG-signed updates automatically.
PRO repositories are protected with HTTP basic auth. You need one personal repo token, then you point your package manager at the authenticated URL. A single token unlocks every product your account is entitled to - you do not need a token per widget.
wget https://repo.initmax.com/zabbix/release/initmax-release-latest_all.deb
dpkg -i initmax-release-latest_all.deb
apt update && apt install zabbix-module-chatgpt
rpm -Uvh https://repo.initmax.com/zabbix/release/initmax-release-latest.noarch.rpm
dnf clean all && dnf install -y zabbix-module-chatgpt
rpm -Uvh https://repo.initmax.com/zabbix/release/initmax-release-latest.noarch.rpm
zypper --gpg-auto-import-keys refresh && zypper install -y zabbix-module-chatgpt
wget https://repo.initmax.com/zabbix/release/initmax-release-latest_all.deb
dpkg -i initmax-release-latest_all.deb
printf 'machine repo.initmax.com login token password %s\n' 'TOKEN_VALUE' > /etc/apt/auth.conf.d/initmax.conf
chmod 600 /etc/apt/auth.conf.d/initmax.conf
sed -i -e '/^# Types: deb/,$ s/^# //' -e 's|USER:TOKEN@||' /etc/apt/sources.list.d/initmax.sources
apt update && apt install zabbix-module-chatgpt
rpm -Uvh https://repo.initmax.com/zabbix/release/initmax-release-latest.noarch.rpm
sed -i -e '/#\[initmax-zabbix-pro\]/,$ s/^#//' -e 's|USER:TOKEN|token:TOKEN|' /etc/yum.repos.d/initmax.repo
chmod 600 /etc/yum.repos.d/initmax.repo
dnf clean all && dnf install -y zabbix-module-chatgpt
rpm -Uvh https://repo.initmax.com/zabbix/release/initmax-release-latest.noarch.rpm
sed -i -e '/#\[initmax-zabbix-pro\]/,$ s/^#//' -e 's|USER:TOKEN|token:TOKEN|' /etc/zypp/repos.d/initmax.repo
chmod 600 /etc/zypp/repos.d/initmax.repo
zypper --gpg-auto-import-keys refresh && zypper install -y zabbix-module-chatgpt
One token unlocks every PRO product on your account. If you cancel one product, the same token keeps working for the rest. Rotate or revoke tokens any time from the Portal.
Step 4 · Edit your Dockerfile
Paste the block after FROM in the final Zabbix frontend stage.
# initMAX chatgpt - Alpine (apk) package install
USER root
RUN apk add --no-cache ca-certificates curl \
&& curl -fsSL https://repo.initmax.com/zabbix/release/setup-alpine.sh -o /tmp/initmax-repo.sh \
&& sh /tmp/initmax-repo.sh --edition free \
-- apk add --no-cache zabbix-module-chatgpt \
&& rm -f /tmp/initmax-repo.sh
USER 1997
On the last line, keep the USER from your original image.
The block installs the newest available version when the installation step runs. Docker may reuse a cached layer. To keep a fixed version, use zabbix-module-chatgpt=2.8.0_p1-r3
Step 5 · Build your image
Run the command in a terminal in the Dockerfile directory.
# initMAX chatgpt - Alpine (apk) package install
docker build -t zabbix-web-custom .
In Compose, use image zabbix-web-custom and recreate the frontend. In Zabbix, open Administration / General / Modules, Scan directory and enable the module.
More options
No manual APK downloads or file copying.
Buying another product later? Add its install block to the same Dockerfile; keep the existing blocks and products.
Step 4 · Edit your Dockerfile
Paste the block after FROM in the final Zabbix frontend stage.
# initMAX chatgpt - Alpine (apk) package install
USER root
RUN --mount=type=secret,id=initmax_repo_token,required=true \
apk add --no-cache ca-certificates curl \
&& curl -fsSL https://repo.initmax.com/zabbix/release/setup-alpine.sh -o /tmp/initmax-repo.sh \
&& sh /tmp/initmax-repo.sh --edition pro \
--token-file /run/secrets/initmax_repo_token \
-- apk add --no-cache zabbix-module-chatgpt \
&& rm -f /tmp/initmax-repo.sh
USER 1997
On the last line, keep the USER from your original image.
The block installs the newest available version when the installation step runs. Docker may reuse a cached layer. To keep a fixed version, use zabbix-module-chatgpt=2.8.0_p2-r3
Step 5 · Build your image
Reveal or create a repo token above. Run the filled command in a terminal in the Dockerfile directory; do not save it to a file.
# initMAX chatgpt - Alpine (apk) package install
INITMAX_REPO_TOKEN='TOKEN_VALUE' \
docker build --secret id=initmax_repo_token,env=INITMAX_REPO_TOKEN \
-t zabbix-web-custom .
In Compose, use image zabbix-web-custom and recreate the frontend. In Zabbix, open Administration / General / Modules, Scan directory and enable the module.
More options
PRO uses your existing repo token as a Docker build secret. Do not put the token in Dockerfile instructions or ARG/ENV.
Buying another product later? Add its install block to the same Dockerfile; keep the existing blocks and products.
Step 4 · Edit your Dockerfile
For Ubuntu / Debian frontend images. Add after FROM. Keep installed modules in the image; a volume over modules/ would hide package updates.
USER root
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates curl \
&& curl -fsSL https://repo.initmax.com/zabbix/release/initmax-release-latest_all.deb -o /tmp/initmax-release.deb \
&& dpkg -i /tmp/initmax-release.deb \
&& apt-get update \
&& apt-get install -y --no-install-recommends zabbix-module-chatgpt \
&& rm -f /tmp/initmax-release.deb \
&& rm -rf /var/lib/apt/lists/*
USER 1997
On the last line, keep the USER from your original image.
Step 5 · Build your image
Run the command in a terminal in the Dockerfile directory.
docker build -t zabbix-web-custom .
In Compose, use image zabbix-web-custom and recreate the frontend. In Zabbix, open Administration / General / Modules, Scan directory and enable the module.
Step 4 · Edit your Dockerfile
For Ubuntu / Debian frontend images. Add after FROM. Keep installed modules in the image; a volume over modules/ would hide package updates.
USER root
RUN --mount=type=secret,id=initmax_repo_token,required=true \
apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates curl \
&& curl -fsSL https://repo.initmax.com/zabbix/release/initmax-release-latest_all.deb -o /tmp/initmax-release.deb \
&& dpkg -i /tmp/initmax-release.deb \
&& cp /etc/apt/sources.list.d/initmax.sources /tmp/initmax.sources \
&& printf 'machine repo.initmax.com login token password %s\n' "$(cat /run/secrets/initmax_repo_token)" > /etc/apt/auth.conf.d/initmax.conf \
&& chmod 600 /etc/apt/auth.conf.d/initmax.conf \
&& sed -i -e '/^# Types: deb/,$ s/^# //' /etc/apt/sources.list.d/initmax.sources \
&& apt-get update \
&& apt-get install -y --no-install-recommends zabbix-module-chatgpt \
&& mv /tmp/initmax.sources /etc/apt/sources.list.d/initmax.sources \
&& rm -f /tmp/initmax-release.deb /etc/apt/auth.conf.d/initmax.conf \
&& rm -rf /var/lib/apt/lists/*
USER 1997
On the last line, keep the USER from your original image.
Step 5 · Build your image
Reveal or create a repo token above. Run the filled command in a terminal in the Dockerfile directory; do not save it to a file.
INITMAX_REPO_TOKEN='TOKEN_VALUE' \
docker build --secret id=initmax_repo_token,env=INITMAX_REPO_TOKEN \
-t zabbix-web-custom .
In Compose, use image zabbix-web-custom and recreate the frontend. In Zabbix, open Administration / General / Modules, Scan directory and enable the module.
PRO uses your existing repo token as a Docker build secret. Do not put the token in Dockerfile instructions or ARG/ENV.
Step 4 · Edit your Dockerfile
For CentOS Stream / Oracle Linux frontend images. Add after FROM. DNF installs the RPM package; keep installed modules in the image, not a volume over modules/.
USER root
RUN if ! command -v dnf >/dev/null; then microdnf install -y dnf; fi \
&& { rpm -q initmax-release >/dev/null 2>&1 || rpm -Uvh https://repo.initmax.com/zabbix/release/initmax-release-latest.noarch.rpm; } \
&& dnf install -y zabbix-module-chatgpt \
&& dnf clean all
USER 1997
On the last line, keep the USER from your original image.
Step 5 · Build your image
Run the command in a terminal in the Dockerfile directory.
docker build -t zabbix-web-custom .
In Compose, use image zabbix-web-custom and recreate the frontend. In Zabbix, open Administration / General / Modules, Scan directory and enable the module.
Step 4 · Edit your Dockerfile
For CentOS Stream / Oracle Linux frontend images. Add after FROM. DNF installs the RPM package; keep installed modules in the image, not a volume over modules/.
USER root
RUN --mount=type=secret,id=initmax_repo_token,required=true \
if ! command -v dnf >/dev/null; then microdnf install -y dnf; fi \
&& { rpm -q initmax-release >/dev/null 2>&1 || rpm -Uvh https://repo.initmax.com/zabbix/release/initmax-release-latest.noarch.rpm; } \
&& cp /etc/yum.repos.d/initmax.repo /tmp/initmax.repo \
&& sed -i -e '/#\[initmax-zabbix-pro\]/,$ s/^#//' -e 's|USER:TOKEN@||' /etc/yum.repos.d/initmax.repo \
&& printf '\nusername=token\npassword=$initmax_repo_token\n' >> /etc/yum.repos.d/initmax.repo \
&& DNF_VAR_initmax_repo_token="$(cat /run/secrets/initmax_repo_token)" dnf install -y zabbix-module-chatgpt \
&& mv /tmp/initmax.repo /etc/yum.repos.d/initmax.repo \
&& dnf clean all
USER 1997
On the last line, keep the USER from your original image.
Step 5 · Build your image
Reveal or create a repo token above. Run the filled command in a terminal in the Dockerfile directory; do not save it to a file.
INITMAX_REPO_TOKEN='TOKEN_VALUE' \
docker build --secret id=initmax_repo_token,env=INITMAX_REPO_TOKEN \
-t zabbix-web-custom .
In Compose, use image zabbix-web-custom and recreate the frontend. In Zabbix, open Administration / General / Modules, Scan directory and enable the module.
PRO uses your existing repo token as a Docker build secret. Do not put the token in Dockerfile instructions or ARG/ENV.
ZIP modules in a persistent volume. You manage updates manually.
1 · Download and extract the ZIP
Save the ZIP for your version and edition as module.zip on the Docker host. Unzip it into a new directory as shown below, then read the included INSTALL.md.
WORKDIR=$(mktemp -d)
unzip module.zip -d "$WORKDIR" && cd "$WORKDIR/chatgpt"
2 · Mount the modules volume
Keep your existing modules volume. For a new one, merge this Zabbix 8.0 example into Compose and recreate the frontend. Preserve other settings and transfer existing modules before switching. For images with a ui/ directory, mount /usr/share/zabbix/ui/modules. Do not share a volume between different Zabbix versions.
services:
zabbix-web:
volumes:
- zabbix-web-modules-8.0:/usr/share/zabbix/modules
volumes:
zabbix-web-modules-8.0:
docker compose up -d --no-deps zabbix-web
3 · Copy the module into the volume
Replace zabbix-web with your actual frontend container name. Select legacy/ for Zabbix 6.0–6.2, otherwise modern/.
When updating, back up this module and its settings first. Only its own directory is replaced, never the whole modules/ directory.
Show copy commands
(
set -eu
ZABBIX_WEB_CONTAINER=zabbix-web
ZABBIX_FRONTEND=$(docker exec "$ZABBIX_WEB_CONTAINER" sh -c '
for root in /usr/share/zabbix/ui /usr/share/zabbix /usr/share/zabbix/php; do
[ -f "$root/include/defines.inc.php" ] && echo "$root" && break
done')
test -n "$ZABBIX_FRONTEND" || { echo "Zabbix frontend not found in container" >&2; exit 1; }
ZBXVER=$(docker exec "$ZABBIX_WEB_CONTAINER" grep -m1 ZABBIX_VERSION "$ZABBIX_FRONTEND/include/defines.inc.php" | grep -oE "[0-9]+\.[0-9]+" | head -1)
case "$ZBXVER" in
6.0|6.2) PAYLOAD=legacy ;;
6.4|7.0|7.2|7.4|8.0) PAYLOAD=modern ;;
*) echo "Unsupported Zabbix frontend: $ZBXVER" >&2; exit 1 ;;
esac
test -f "$PAYLOAD/manifest.json" || { echo "Run from the extracted chatgpt ZIP directory" >&2; exit 1; }
if grep -q '"supported_versions"[[:space:]]*:' "$PAYLOAD/manifest.json"; then
SUPPORTED=$(awk 'BEGIN { RS="]" } /"supported_versions"[[:space:]]*:/ {
sub(/^.*"supported_versions"[[:space:]]*:[[:space:]]*\[/, ""); print; exit
}' "$PAYLOAD/manifest.json")
printf '%s\n' "$SUPPORTED" | grep -Fq "\"$ZBXVER\"" \
|| { echo "Module does not support Zabbix $ZBXVER" >&2; exit 1; }
fi
ZABBIX_MODULES_VOLUME=$(docker inspect --format '{{range .Mounts}}{{println .Type .Destination .RW .Name}}{{end}}' "$ZABBIX_WEB_CONTAINER" \
| awk -v target="$ZABBIX_FRONTEND/modules" '$1 == "volume" && $2 == target && $3 == "true" { print $4 }')
test -n "$ZABBIX_MODULES_VOLUME" || { echo "Mount a writable modules volume in Compose first" >&2; exit 1; }
echo "Zabbix $ZBXVER · $PAYLOAD · $ZABBIX_MODULES_VOLUME"
if docker exec "$ZABBIX_WEB_CONTAINER" test -d "$ZABBIX_FRONTEND/modules/chatgpt"; then
BACKUP=$(mktemp -d)
docker cp "$ZABBIX_WEB_CONTAINER:$ZABBIX_FRONTEND/modules/chatgpt" "$BACKUP/"
echo "Backup: $BACKUP/chatgpt"
docker exec -u root "$ZABBIX_WEB_CONTAINER" rm -rf "$ZABBIX_FRONTEND/modules/chatgpt"
fi
docker exec -u root "$ZABBIX_WEB_CONTAINER" mkdir -p "$ZABBIX_FRONTEND/modules/chatgpt"
docker cp "$PAYLOAD/." "$ZABBIX_WEB_CONTAINER:$ZABBIX_FRONTEND/modules/chatgpt/"
docker exec -u root -e ZABBIX_FRONTEND="$ZABBIX_FRONTEND" "$ZABBIX_WEB_CONTAINER" sh -c '
chown -R "$(stat -c "%u:%g" "$ZABBIX_FRONTEND/include/defines.inc.php")" "$ZABBIX_FRONTEND/modules/chatgpt"
'
docker restart "$ZABBIX_WEB_CONTAINER"
)
4 · Enable the module in Zabbix
Administration / General / Modules / Scan directory. Enable the single entry for this product. For an earlier or renamed copy, follow Earlier copies in the included INSTALL.md before scanning to retain its settings.
Manual copying does not run package pre/post-install or upgrade scripts. If required, follow INSTALL.md. After changing the Zabbix version, use a separate volume with compatible modules and scan again.
These are displayed instructions only. Nothing is executed against your Docker environment.
Releases
362.8.0 Latest 2026-11-05
-
Publish the Alpine (apk) package for Docker based Zabbix frontends (repo.initmax.com Alpine channel).
2.7.1 2026-10-27
-
Added OpenAI model GPT-6.1 Terra (
gpt-6.1-terra).
2.7.0 2026-10-15
-
Add support for Zabbix 8.0 and improve widget features.
Older versions (33)
2.6.24 2026-10-14
-
Added Google Gemini model Gemini 4 Argon (
gemini-4-argon).
2.6.23 2026-10-12
-
Added Google Gemini model Gemini Nano Banana 2.1 (
gemini-nano-banana-2.1). -
Added Anthropic Claude model Claude Haiku 5.5 (
claude-haiku-5-5).
2.6.22 2026-09-30
-
Added OpenAI model GPT-6.1 Sol (
gpt-6.1-sol).
2.6.21 2026-09-30
-
Show a disabled Model field for OpenAI, Gemini and Claude in API-token administration, with a tooltip explaining per-widget selection and global overrides. Custom profiles keep an editable model and Load models.
2.6.20 2026-09-29
-
Explain in API-token administration that models are selected per widget, with optional global overrides and custom-endpoint profiles.
2.6.19 2026-09-29
-
Added OpenAI model GPT-6 Luna (
gpt-6-luna). -
Added OpenAI model GPT-6 Sol (
gpt-6-sol). -
Added Anthropic Claude model Claude Opus 5.5 (
claude-opus-5-5). -
Added Anthropic Claude model Claude Sonnet 5.5 (
claude-sonnet-5-5).
2.6.18 2026-09-09
-
Preserve model selection across provider switches
2.6.17 2026-09-09
-
Use consistent icons in the FREE vs PRO table
2.6.16 2026-09-09
-
Publish current supported AI models
2.6.15 2026-09-09
-
Sync supported AI models
2.6.14 2026-09-04
-
version_bump(patch): 2.6.13
2.6.13 2026-09-02
-
Replace misleading ChatGPT catalog tagline
2.6.12 2026-08-25
-
refresh .readme/screen from the release capture (capture-screenshots)
2.6.11 2026-08-20
-
Stored API tokens render as a mask of their length
2.6.10 2026-08-20
-
Full example endpoint URL in hint; saved token cards save without revealing the key
2.6.9 2026-08-20
-
Migrate the legacy openai module in place, dark-theme settings + reveal-eye glyphs
2.6.8 2026-08-19
-
Wait for the dashboard save to land before the e2e test types again
2.6.7 2026-08-18
-
Generic 6.0/6.2 widget-edit view (generated by the CI library)
2.6.6 2026-08-16
-
One name: the module registers as ChatGPT
2.6.5 2026-08-15
-
Align ChatGPT experience with APDA
2.6.4 2026-08-14
-
State the language and high-availability facts customers ask for
2.6.3 2026-08-03
-
fix(packaging): release automatic module activation
2.6.2 2026-08-01
-
README: ASCII hyphen in the copyright range
2.6.1 2026-08-01
-
README: drop the emoji, repair the nav anchors, sync the model table
2.6.0 2026-08-01
-
Commit the guided-installer picture the README points at
2.5.0 2026-08-01
-
Capture the FREE example tile without MCP
2.4.0 2026-08-01
-
Show the real widget in the README
2.3.0 2026-08-01
-
Add catalog showcase spec
2.2.1 2026-07-31
-
fix: avoid false-positive PRO leak marker
2.2.0 2026-07-31
-
Complete ChatGPT v2.1.0 cross-version parity
2.0.2 2026-07-22
-
re-run release pipeline against fixed CI lib
2.0.1 2026-07-22
-
Improve insecure endpoint tooltip spacing
2.0.0 2026-07-22
-
fix(legacy): resolve v1 widget assets against modules/<id>-legacy, not modules/<id>