zabbix-docker/docker-compose_v3_centos_pgsql_local.yaml
2024-06-12 11:45:19 +09:00

280 lines
7.6 KiB
YAML

services:
zabbix-build-base:
build:
context: ./Dockerfiles/build-base/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
image: ${BUILD_BASE_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
attach: false
zabbix-build-pgsql:
build:
context: ./Dockerfiles/build-pgsql/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: ${BUILD_BASE_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
attach: false
depends_on:
- zabbix-build-base
zabbix-build-mysql:
build:
context: ./Dockerfiles/build-mysql/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: ${BUILD_BASE_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
attach: false
profiles:
- all
depends_on:
- zabbix-build-base
zabbix-build-sqlite3:
build:
context: ./Dockerfiles/build-sqlite3/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: ${BUILD_BASE_SQLITE3_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
attach: false
profiles:
- all
depends_on:
- zabbix-build-base
zabbix-server:
extends:
file: compose_zabbix_components.yaml
service: server-pgsql
build:
context: ./Dockerfiles/server-pgsql/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-server-pgsql:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
volumes:
- /etc/timezone:/etc/timezone:ro
depends_on:
- postgres-server
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-proxy-sqlite3:
extends:
file: compose_zabbix_components.yaml
service: proxy-sqlite3
build:
context: ./Dockerfiles/proxy-sqlite3/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_SQLITE3_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-proxy-sqlite3:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
volumes:
- /etc/timezone:/etc/timezone:ro
depends_on:
- zabbix-build-sqlite3
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-proxy-mysql:
extends:
file: compose_zabbix_components.yaml
service: proxy-mysql
build:
context: ./Dockerfiles/proxy-mysql/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-proxy-mysql:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
volumes:
- /etc/timezone:/etc/timezone:ro
depends_on:
- mysql-server
- zabbix-build-mysql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-web-apache-pgsql:
extends:
file: compose_zabbix_components.yaml
service: web-apache-pgsql
build:
context: ./Dockerfiles/web-apache-pgsql/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-web-apache-pgsql:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
volumes:
- /etc/timezone:/etc/timezone:ro
depends_on:
- postgres-server
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-web-nginx-pgsql:
extends:
file: compose_zabbix_components.yaml
service: web-nginx-pgsql
build:
context: ./Dockerfiles/web-nginx-pgsql/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-web-nginx-pgsql:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
volumes:
- /etc/timezone:/etc/timezone:ro
depends_on:
- postgres-server
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-agent:
extends:
file: compose_zabbix_components.yaml
service: agent
build:
context: ./Dockerfiles/agent/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-agent:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
volumes:
- /etc/timezone:/etc/timezone:ro
depends_on:
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-java-gateway:
extends:
file: compose_zabbix_components.yaml
service: java-gateway
build:
context: ./Dockerfiles/java-gateway/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-java-gateway:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
depends_on:
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-snmptraps:
extends:
file: compose_zabbix_components.yaml
service: snmptraps
build:
context: ./Dockerfiles/snmptraps/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
image: zabbix-snmptraps:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
depends_on:
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
zabbix-web-service:
extends:
file: compose_zabbix_components.yaml
service: web-service
build:
context: ./Dockerfiles/web-service/${CENTOS_OS_TAG_SHORT}
cache_from:
- "${CENTOS_CACHE_FROM}"
args:
BUILD_BASE_IMAGE: ${BUILD_BASE_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
image: zabbix-web-service:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_LOCAL_IMAGE_TAG_POSTFIX}
depends_on:
- zabbix-build-pgsql
labels:
com.zabbix.os: "${CENTOS_OS_TAG}"
mysql-server:
profiles:
- all
extends:
file: compose_databases.yaml
service: mysql-server
postgres-server:
extends:
file: compose_databases.yaml
service: postgres-server
db-data-mysql:
profiles:
- all
extends:
file: compose_databases.yaml
service: db-data-mysql
db-data-pgsql:
extends:
file: compose_databases.yaml
service: db-data-pgsql
# elasticsearch:
# extends:
# file: compose_databases.yaml
# service: elasticsearch
networks:
frontend:
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "${FRONTEND_ENABLE_IPV6}"
ipam:
driver: "${FRONTEND_NETWORK_DRIVER}"
config:
- subnet: "${FRONTEND_SUBNET}"
backend:
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "${BACKEND_ENABLE_IPV6}"
internal: true
ipam:
driver: "${BACKEND_NETWORK_DRIVER}"
config:
- subnet: "${BACKEND_SUBNET}"
database:
driver: bridge
driver_opts:
com.docker.network.enable_ipv6: "${DATABASE_NETWORK_ENABLE_IPV6}"
internal: true
ipam:
driver: "${DATABASE_NETWORK_DRIVER}"
volumes:
snmptraps:
# dbsocket:
secrets:
MYSQL_USER:
file: ${ENV_VARS_DIRECTORY}/.MYSQL_USER
MYSQL_PASSWORD:
file: ${ENV_VARS_DIRECTORY}/.MYSQL_PASSWORD
MYSQL_ROOT_USER:
file: ${ENV_VARS_DIRECTORY}/.MYSQL_ROOT_USER
MYSQL_ROOT_PASSWORD:
file: ${ENV_VARS_DIRECTORY}/.MYSQL_ROOT_PASSWORD
POSTGRES_USER:
file: ${ENV_VARS_DIRECTORY}/.POSTGRES_USER
POSTGRES_PASSWORD:
file: ${ENV_VARS_DIRECTORY}/.POSTGRES_PASSWORD