diff --git a/apps/zabbix-server/7.4.11&mysql/.env.sample b/apps/zabbix-server/7.4.11&mysql/.env.sample new file mode 100644 index 000000000..6f17280a0 --- /dev/null +++ b/apps/zabbix-server/7.4.11&mysql/.env.sample @@ -0,0 +1,7 @@ +CONTAINER_NAME="zabbix-server" +PANEL_APP_PORT_HTTP2="10051" +PANEL_APP_PORT_HTTP="40047" +PANEL_DB_NAME="zabbix" +PANEL_DB_USER="zabbix" +PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl" +MYSQL_PASSWORD="MySQL_root_pwd" \ No newline at end of file diff --git a/apps/zabbix-server/7.4.11&mysql/conf/my.cnf b/apps/zabbix-server/7.4.11&mysql/conf/my.cnf new file mode 100644 index 000000000..30e942001 --- /dev/null +++ b/apps/zabbix-server/7.4.11&mysql/conf/my.cnf @@ -0,0 +1,19 @@ +[mysqld] +skip-host-cache +skip-name-resolve +datadir=/var/lib/mysql +socket=/var/run/mysqld/mysqld.sock +secure-file-priv=/var/lib/mysql-files +user=mysql + + +character_set_server=utf8 +lower_case_table_names=1 +group_concat_max_len=1024000 +log_bin_trust_function_creators=1 + +pid-file=/var/run/mysqld/mysqld.pid +[client] +socket=/var/run/mysqld/mysqld.sock + +!includedir /etc/mysql/conf.d/ \ No newline at end of file diff --git a/apps/zabbix-server/7.4.11&mysql/data.yml b/apps/zabbix-server/7.4.11&mysql/data.yml new file mode 100644 index 000000000..fae0c5a92 --- /dev/null +++ b/apps/zabbix-server/7.4.11&mysql/data.yml @@ -0,0 +1,104 @@ +additionalProperties: + formFields: + - default: zabbix + envKey: MYSQL_PASSWORD + labelEn: MySQL root Password + labelZh: 数据库root密码 + label: + en: 'MySQL root Password' + zh: '数据库root密码' + zh-Hant: '資料庫 root 密碼' + ja: 'MySQL root パスワード' + ko: 'MySQL root 비밀번호' + ru: 'Пароль root MySQL' + ms: 'Kata laluan root MySQL' + pt-br: 'Senha root do MySQL' + random: true + required: true + rule: paramComplexity + type: password + - default: zabbix + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + label: + en: 'Database' + zh: '数据库名' + zh-Hant: '數據庫名' + ja: 'データベース' + ko: '데이터베이스' + ru: 'База данных' + ms: 'Pangkalan Data' + pt-br: 'Banco de Dados' + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + label: + en: 'User' + zh: '数据库用户' + zh-Hant: '數據庫用戶' + ja: 'ユーザー' + ko: '사용자' + ru: 'Пользователь' + ms: 'Pengguna' + pt-br: 'Usuário' + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + label: + en: 'Password' + zh: '数据库用户密码' + zh-Hant: '數據庫用戶密碼' + ja: 'パスワード' + ko: '비밀번호' + ru: 'Пароль' + ms: 'Kata laluan' + pt-br: 'Senha' + random: true + required: true + rule: paramComplexity + type: password + - default: 10051 + edit: true + envKey: PANEL_APP_PORT_HTTP2 + labelEn: Gateway port + labelZh: 网关端口 + label: + en: 'Gateway port' + zh: '网关端口' + zh-Hant: '網關埠' + ja: 'ゲートウェイポート' + ko: '게이트웨이 포트' + ru: 'Порт шлюза' + ms: 'Port gerbang' + pt-br: 'Porta do gateway' + required: true + rule: paramPort + type: number + - default: 40047 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + label: + en: 'Port' + zh: '端口' + zh-Hant: '埠' + ja: 'ポート' + ko: '포트' + ru: 'Порт' + ms: 'Port' + pt-br: 'Porta' + required: true + rule: paramPort + type: number diff --git a/apps/zabbix-server/7.4.11&mysql/docker-compose.yml b/apps/zabbix-server/7.4.11&mysql/docker-compose.yml new file mode 100644 index 000000000..22f64bab6 --- /dev/null +++ b/apps/zabbix-server/7.4.11&mysql/docker-compose.yml @@ -0,0 +1,76 @@ +services: + mysql-server: + container_name: ${CONTAINER_NAME}-mysql + restart: always + networks: + - 1panel-network + volumes: + - ./data/:/var/lib/mysql + - ./conf/my.cnf:/etc/my.cnf + - ./log:/var/log/mysql + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + environment: + - MYSQL_DATABASE=${PANEL_DB_NAME} + - MYSQL_USER=${PANEL_DB_USER} + - MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD} + - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} + command: --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password + image: mysql:8.0.36 + labels: + createdBy: Apps + + zabbix-server-mysql: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP2}:10051" + environment: + - DB_SERVER_HOST=mysql-server + - DB_SERVER_PORT=3306 + - MYSQL_DATABASE=${PANEL_DB_NAME} + - MYSQL_USER=${PANEL_DB_USER} + - MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD} + - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} + - ZBX_JAVAGATEWAY=zabbix-java-gateway + image: zabbix/zabbix-server-mysql:alpine-7.4.11 + depends_on: + - zabbix-java-gateway + - mysql-server + labels: + createdBy: Apps + + zabbix-java-gateway: + container_name: ${CONTAINER_NAME}-gateway + restart: always + networks: + - 1panel-network + image: zabbix/zabbix-java-gateway:alpine-7.4.11 + labels: + createdBy: Apps + + zabbix-web-nginx-mysql: + container_name: ${CONTAINER_NAME}-nginx + restart: always + networks: + - 1panel-network + environment: + - ZBX_SERVER_HOST=zabbix-server-mysql + - DB_SERVER_HOST=mysql-server + - MYSQL_DATABASE=${PANEL_DB_NAME} + - MYSQL_USER=${PANEL_DB_USER} + - MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD} + - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + image: zabbix/zabbix-web-nginx-mysql:alpine-7.4.11 + depends_on: + - zabbix-server-mysql + - mysql-server + labels: + createdBy: Apps +networks: + 1panel-network: + external: true diff --git a/apps/zabbix-server/7.4.11-postgres/.env.sample b/apps/zabbix-server/7.4.11-postgres/.env.sample new file mode 100644 index 000000000..cd31b76bb --- /dev/null +++ b/apps/zabbix-server/7.4.11-postgres/.env.sample @@ -0,0 +1,8 @@ +CONTAINER_NAME="zabbix-server" +PANEL_APP_PORT_COMM="10051" +PANEL_APP_PORT_HTTP="40047" +PANEL_APP_PORT_SNMP="1162" +PANEL_DB_HOST="127.0.0.1" +PANEL_DB_NAME="zabbix" +PANEL_DB_USER="zabbix" +PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl" \ No newline at end of file diff --git a/apps/zabbix-server/7.4.11-postgres/data.yml b/apps/zabbix-server/7.4.11-postgres/data.yml new file mode 100644 index 000000000..0d8fdc093 --- /dev/null +++ b/apps/zabbix-server/7.4.11-postgres/data.yml @@ -0,0 +1,121 @@ +additionalProperties: + formFields: + - default: "" + edit: true + envKey: PANEL_DB_HOST + key: postgresql + labelEn: Database Service + labelZh: 数据库服务 + label: + en: 'Database Service' + zh: '数据库服务' + zh-Hant: '數據庫服務' + ja: 'データベースサービス' + ko: '데이터베이스 서비스' + ru: 'Сервис базы данных' + ms: 'Perkhidmatan Pangkalan Data' + pt-br: 'Serviço de Banco de Dados' + required: true + type: service + - default: zabbix + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + label: + en: 'Database' + zh: '数据库名' + zh-Hant: '數據庫名' + ja: 'データベース' + ko: '데이터베이스' + ru: 'База данных' + ms: 'Pangkalan Data' + pt-br: 'Banco de Dados' + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + label: + en: 'User' + zh: '数据库用户' + zh-Hant: '數據庫用戶' + ja: 'ユーザー' + ko: '사용자' + ru: 'Пользователь' + ms: 'Pengguna' + pt-br: 'Usuário' + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + label: + en: 'Password' + zh: '数据库用户密码' + zh-Hant: '數據庫用戶密碼' + ja: 'パスワード' + ko: '비밀번호' + ru: 'Пароль' + ms: 'Kata laluan' + pt-br: 'Senha' + random: true + required: true + rule: paramComplexity + type: password + - default: 10051 + edit: true + envKey: PANEL_APP_PORT_COMM + labelEn: Gateway port + labelZh: 网关端口 + label: + en: 'Gateway port' + zh: '网关端口' + zh-Hant: '網關埠' + ja: 'ゲートウェイポート' + ko: '게이트웨이 포트' + ru: 'Порт шлюза' + ms: 'Port gerbang' + pt-br: 'Porta do gateway' + required: true + rule: paramPort + type: number + - default: 40047 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + label: + en: 'Port' + zh: '端口' + zh-Hant: '埠' + ja: 'ポート' + ko: '포트' + ru: 'Порт' + ms: 'Port' + pt-br: 'Porta' + required: true + rule: paramPort + type: number + - default: 1162 + edit: true + envKey: PANEL_APP_PORT_SNMP + labelEn: Snmptraps Port + labelZh: Snmptraps 端口 + label: + en: 'Snmptraps Port' + zh: 'Snmptraps 端口' + zh-Hant: 'Snmptraps 埠' + ja: 'Snmptraps ポート' + ko: 'Snmptraps 포트' + ru: 'Порт Snmptraps' + ms: 'Port Snmptraps' + pt-br: 'Porta do Snmptraps' + required: true + rule: paramPort + type: number diff --git a/apps/zabbix-server/7.4.11-postgres/data/.gitkeep b/apps/zabbix-server/7.4.11-postgres/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/zabbix-server/7.4.11-postgres/docker-compose.yml b/apps/zabbix-server/7.4.11-postgres/docker-compose.yml new file mode 100644 index 000000000..608f6dd9e --- /dev/null +++ b/apps/zabbix-server/7.4.11-postgres/docker-compose.yml @@ -0,0 +1,55 @@ +services: + zabbix-snmptraps: + container_name: ${CONTAINER_NAME}-snmptraps + image: zabbix/zabbix-snmptraps:alpine-7.4.11 + volumes: + - ./data/snmptraps:/var/lib/zabbix/snmptraps:rw + - ./data/mibs:/usr/share/snmp/mibs:ro + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_SNMP}:1162/udp" + restart: always + labels: + createdBy: Apps + + zabbix-server-pgsql: + container_name: ${CONTAINER_NAME} + image: zabbix/zabbix-server-pgsql:alpine-7.4.11 + environment: + - DB_SERVER_HOST=${PANEL_DB_HOST} + - POSTGRES_USER=${PANEL_DB_USER} + - POSTGRES_PASSWORD=${PANEL_DB_USER_PASSWORD} + - POSTGRES_DB=${PANEL_DB_NAME} + - ZBX_ENABLE_SNMP_TRAPS=true + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_COMM}:10051" + volumes: + - ./data/snmptraps:/var/lib/zabbix/snmptraps:rw + - ./data/mibs:/usr/share/snmp/mibs:ro + restart: always + labels: + createdBy: Apps + + zabbix-web-nginx-pgsql: + container_name: ${CONTAINER_NAME}-nginx + image: zabbix/zabbix-web-nginx-pgsql:alpine-7.4.11 + environment: + - ZBX_SERVER_HOST=zabbix-server-pgsql + - DB_SERVER_HOST=${PANEL_DB_HOST} + - POSTGRES_USER=${PANEL_DB_USER} + - POSTGRES_PASSWORD=${PANEL_DB_USER_PASSWORD} + - POSTGRES_DB=${PANEL_DB_NAME} + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:8080" + restart: always + labels: + createdBy: Apps + +networks: + 1panel-network: + external: true diff --git a/apps/zabbix-server/7.4.11-postgres/scripts/init.sh b/apps/zabbix-server/7.4.11-postgres/scripts/init.sh new file mode 100644 index 000000000..4e811c86a --- /dev/null +++ b/apps/zabbix-server/7.4.11-postgres/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 1000:1000 data \ No newline at end of file diff --git a/apps/zabbix-server/7.4.11/.env.sample b/apps/zabbix-server/7.4.11/.env.sample new file mode 100644 index 000000000..8cae772ed --- /dev/null +++ b/apps/zabbix-server/7.4.11/.env.sample @@ -0,0 +1,8 @@ +CONTAINER_NAME="zabbix-server" +PANEL_APP_PORT_HTTP2="10051" +PANEL_APP_PORT_HTTP="40047" +PANEL_DB_HOST="127.0.0.1" +ZABBIX_DB_PORT="3306" +PANEL_DB_NAME="zabbix" +PANEL_DB_USER="zabbix" +PANEL_DB_USER_PASSWORD="MyDBPWD_brls9UwcRasl" diff --git a/apps/zabbix-server/7.4.11/data.yml b/apps/zabbix-server/7.4.11/data.yml new file mode 100644 index 000000000..c032541aa --- /dev/null +++ b/apps/zabbix-server/7.4.11/data.yml @@ -0,0 +1,126 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + labelEn: Database Service + labelZh: 数据库服务 + label: + en: 'Database Service' + zh: '数据库服务' + zh-Hant: '數據庫服務' + ja: 'データベースサービス' + ko: '데이터베이스 서비스' + ru: 'Сервис базы данных' + ms: 'Perkhidmatan Pangkalan Data' + pt-br: 'Serviço de Banco de Dados' + required: true + type: service + default: mysql + labelEn: Database Service + labelZh: 数据库服务 + label: + en: 'Database Service' + zh: '数据库服务' + zh-Hant: '數據庫服務' + ja: 'データベースサービス' + ko: '데이터베이스 서비스' + ru: 'Сервис базы данных' + ms: 'Perkhidmatan Pangkalan Data' + pt-br: 'Serviço de Banco de Dados' + params: + - envKey: ZABBIX_DB_PORT + key: mysql + type: param + value: "3306" + required: true + type: apps + envKey: PANEL_DB_TYPE + values: + - label: "MySQL" + value: mysql + - default: zabbix + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + label: + en: 'Database' + zh: '数据库名' + zh-Hant: '數據庫名' + ja: 'データベース' + ko: '데이터베이스' + ru: 'База данных' + ms: 'Pangkalan Data' + pt-br: 'Banco de Dados' + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + label: + en: 'User' + zh: '数据库用户' + zh-Hant: '數據庫用戶' + ja: 'ユーザー' + ko: '사용자' + ru: 'Пользователь' + ms: 'Pengguna' + pt-br: 'Usuário' + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + label: + en: 'Password' + zh: '数据库用户密码' + zh-Hant: '數據庫用戶密碼' + ja: 'パスワード' + ko: '비밀번호' + ru: 'Пароль' + ms: 'Kata laluan' + pt-br: 'Senha' + random: true + required: true + rule: paramComplexity + type: password + - default: 10051 + edit: true + envKey: PANEL_APP_PORT_HTTP2 + labelEn: Gateway port + labelZh: 网关端口 + label: + en: 'Gateway port' + zh: '网关端口' + zh-Hant: '網關埠' + ja: 'ゲートウェイポート' + ko: '게이트웨이 포트' + ru: 'Порт шлюза' + ms: 'Port gerbang' + pt-br: 'Porta do gateway' + required: true + rule: paramPort + type: number + - default: 40047 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + label: + en: 'Port' + zh: '端口' + zh-Hant: '埠' + ja: 'ポート' + ko: '포트' + ru: 'Порт' + ms: 'Port' + pt-br: 'Porta' + required: true + rule: paramPort + type: number diff --git a/apps/zabbix-server/7.4.11/docker-compose.yml b/apps/zabbix-server/7.4.11/docker-compose.yml new file mode 100644 index 000000000..4d83a5a42 --- /dev/null +++ b/apps/zabbix-server/7.4.11/docker-compose.yml @@ -0,0 +1,51 @@ +services: + zabbix-server-mysql: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP2}:10051" + environment: + - DB_SERVER_HOST=${PANEL_DB_HOST} + - DB_SERVER_PORT=${ZABBIX_DB_PORT} + - MYSQL_DATABASE=${PANEL_DB_NAME} + - MYSQL_USER=${PANEL_DB_USER} + - MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD} + - ZBX_JAVAGATEWAY=zabbix-java-gateway + image: zabbix/zabbix-server-mysql:alpine-7.4.11 + depends_on: + - zabbix-java-gateway + labels: + createdBy: Apps + + zabbix-java-gateway: + container_name: ${CONTAINER_NAME}-gateway + restart: always + networks: + - 1panel-network + image: zabbix/zabbix-java-gateway:alpine-7.4.11 + labels: + createdBy: Apps + + zabbix-web-nginx-mysql: + container_name: ${CONTAINER_NAME}-nginx + restart: always + networks: + - 1panel-network + environment: + - ZBX_SERVER_HOST=zabbix-server-mysql + - DB_SERVER_HOST=${PANEL_DB_HOST} + - MYSQL_DATABASE=${PANEL_DB_NAME} + - MYSQL_USER=${PANEL_DB_USER} + - MYSQL_PASSWORD=${PANEL_DB_USER_PASSWORD} + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + image: zabbix/zabbix-web-nginx-mysql:alpine-7.4.11 + depends_on: + - zabbix-server-mysql + labels: + createdBy: Apps +networks: + 1panel-network: + external: true diff --git a/apps/zabbix-server/README.md b/apps/zabbix-server/README.md index 0ecf53db6..7be4b7f99 100644 --- a/apps/zabbix-server/README.md +++ b/apps/zabbix-server/README.md @@ -9,8 +9,8 @@ - 本应用使用 Docker Compose 在 1Panel 中部署。 - 应用分类:工具。 - 支持架构:amd64。 -- 可选版本:`latest`、`6.4.13`、`6.4.13&mysql`、`6.4.13-postgres`、`latest&mysql`、`latest-postgres`。 -- 安装后按应用表单中的端口访问 Web UI、SSH 或对应服务。 +- 可选版本:`latest`、`7.4.11`、`7.4.11&mysql`、`7.4.11-postgres`、`6.4.13`、`6.4.13&mysql`、`6.4.13-postgres`、`latest&mysql`、`latest-postgres`。 +- 安装后按应用表单中的端口访问 Web UI 或对应服务。 ## 端口 | 变量 | 说明 | 默认值 | 必填 | @@ -35,7 +35,7 @@ password:zabbix ### 注意事项 -**注意:默认版本是Zabbix-MySQL版本的,Zabbix 6.X的需求环境MySQL8** +**注意:默认版本是 Zabbix-MySQL 版本。Zabbix 7.4 要求 MySQL/Percona 8.0.30+ 或 PostgreSQL 13+。** **`postgresql`的版本,资源占用会小很多。** @@ -45,6 +45,7 @@ password:zabbix - 带`&mysql`版本,会安装符合`Zabbix`格式要求的数据库版本 - 不带`&mysql`的版本,默认调用面板安装的数据库 +- 官方文档说明 Zabbix 7.4.x 支持从 6.4.x 直接升级;旧的 6.4.13 版本目录保留用于老用户升级和回溯。 ## 参考资料 - 官网: diff --git a/renovate.json b/renovate.json index 14d62d76d..d4c77d016 100644 --- a/renovate.json +++ b/renovate.json @@ -320,6 +320,46 @@ ], "allowedVersions": "/^2.5.*/" }, + { + "description": "Keep Zabbix Server 6.4 historical tracks on 6.4 Alpine images", + "matchFileNames": [ + "apps/zabbix-server/6.4.*/*.yml" + ], + "matchPackageNames": [ + "zabbix/zabbix-server-mysql", + "zabbix/zabbix-web-nginx-mysql", + "zabbix/zabbix-java-gateway", + "zabbix/zabbix-snmptraps", + "zabbix/zabbix-server-pgsql", + "zabbix/zabbix-web-nginx-pgsql" + ], + "allowedVersions": "/^alpine-6\\.4\\..*/" + }, + { + "description": "Keep Zabbix Server 7.4 tracks on 7.4 Alpine images", + "matchFileNames": [ + "apps/zabbix-server/7.4.*/*.yml" + ], + "matchPackageNames": [ + "zabbix/zabbix-server-mysql", + "zabbix/zabbix-web-nginx-mysql", + "zabbix/zabbix-java-gateway", + "zabbix/zabbix-snmptraps", + "zabbix/zabbix-server-pgsql", + "zabbix/zabbix-web-nginx-pgsql" + ], + "allowedVersions": "/^alpine-7\\.4\\..*/" + }, + { + "description": "Keep bundled Zabbix MySQL on the 8.0 line", + "matchFileNames": [ + "apps/zabbix-server/*&mysql/*.yml" + ], + "matchPackageNames": [ + "mysql" + ], + "allowedVersions": "/^8\\.0\\..*/" + }, { "description": "Require dashboard approval for multi-service multi-image compose apps", "matchFileNames": [