diff --git a/apps/zabbix-server/6.4.13-postgres/.env.sample b/apps/zabbix-server/6.4.13-postgres/.env.sample new file mode 100644 index 00000000..cd31b76b --- /dev/null +++ b/apps/zabbix-server/6.4.13-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/6.4.13-postgres/data.yml b/apps/zabbix-server/6.4.13-postgres/data.yml new file mode 100644 index 00000000..931ca1a3 --- /dev/null +++ b/apps/zabbix-server/6.4.13-postgres/data.yml @@ -0,0 +1,58 @@ +additionalProperties: + formFields: + - default: "" + edit: true + envKey: PANEL_DB_HOST + key: postgresql + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: service + - default: zabbix + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: 10051 + edit: true + envKey: PANEL_APP_PORT_COMM + labelEn: Gateway port + labelZh: 网关端口 + required: true + rule: paramPort + type: number + - default: 40047 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: 1162 + edit: true + envKey: PANEL_APP_PORT_SNMP + labelEn: Snmptraps Port + labelZh: Snmptraps 端口 + required: true + rule: paramPort + type: number diff --git a/apps/zabbix-server/6.4.13-postgres/data/.gitkeep b/apps/zabbix-server/6.4.13-postgres/data/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/zabbix-server/6.4.13-postgres/docker-compose.yml b/apps/zabbix-server/6.4.13-postgres/docker-compose.yml new file mode 100644 index 00000000..d43ea937 --- /dev/null +++ b/apps/zabbix-server/6.4.13-postgres/docker-compose.yml @@ -0,0 +1,56 @@ +version: '3.7' +services: + zabbix-snmptraps: + container_name: ${CONTAINER_NAME}-snmptraps + image: zabbix/zabbix-snmptraps:alpine-6.4.13 + 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-6.4.13 + 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-6.4.13 + 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/6.4.13-postgres/scripts/init.sh b/apps/zabbix-server/6.4.13-postgres/scripts/init.sh new file mode 100644 index 00000000..4e811c86 --- /dev/null +++ b/apps/zabbix-server/6.4.13-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/README.md b/apps/zabbix-server/README.md index 3a6100a0..949780c4 100644 --- a/apps/zabbix-server/README.md +++ b/apps/zabbix-server/README.md @@ -9,7 +9,9 @@ password:zabbix ## 注意事项 -**注意:这是Zabbix-MySQL版本的,Zabbix 6.X的需求环境MySQL8** +**注意:默认版本是Zabbix-MySQL版本的,Zabbix 6.X的需求环境MySQL8** + +**`postgresql`的版本,资源占用会小很多。** 商店自带的`MySQL 8`的数据库格式设置与`Zabbix`需求有所不同,`zabbix-server-mysql`容器会提示存在错误。 diff --git a/apps/zabbix-server/latest-postgres/.env.sample b/apps/zabbix-server/latest-postgres/.env.sample new file mode 100644 index 00000000..cd31b76b --- /dev/null +++ b/apps/zabbix-server/latest-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/latest-postgres/data.yml b/apps/zabbix-server/latest-postgres/data.yml new file mode 100644 index 00000000..931ca1a3 --- /dev/null +++ b/apps/zabbix-server/latest-postgres/data.yml @@ -0,0 +1,58 @@ +additionalProperties: + formFields: + - default: "" + edit: true + envKey: PANEL_DB_HOST + key: postgresql + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: service + - default: zabbix + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: zabbix + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: 10051 + edit: true + envKey: PANEL_APP_PORT_COMM + labelEn: Gateway port + labelZh: 网关端口 + required: true + rule: paramPort + type: number + - default: 40047 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: 1162 + edit: true + envKey: PANEL_APP_PORT_SNMP + labelEn: Snmptraps Port + labelZh: Snmptraps 端口 + required: true + rule: paramPort + type: number diff --git a/apps/zabbix-server/latest-postgres/data/.gitkeep b/apps/zabbix-server/latest-postgres/data/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/apps/zabbix-server/latest-postgres/docker-compose.yml b/apps/zabbix-server/latest-postgres/docker-compose.yml new file mode 100644 index 00000000..c0a01c36 --- /dev/null +++ b/apps/zabbix-server/latest-postgres/docker-compose.yml @@ -0,0 +1,56 @@ +version: '3.7' +services: + zabbix-snmptraps: + container_name: ${CONTAINER_NAME}-snmptraps + image: zabbix/zabbix-snmptraps:latest + 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:latest + 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:latest + 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/latest-postgres/scripts/init.sh b/apps/zabbix-server/latest-postgres/scripts/init.sh new file mode 100644 index 00000000..4e811c86 --- /dev/null +++ b/apps/zabbix-server/latest-postgres/scripts/init.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +chown -R 1000:1000 data \ No newline at end of file