gitlink-notification-system/middleware/services.yml

111 lines
3.1 KiB
YAML

version: '3'
services:
mysql:
image: mysql:${MYSQL_VERSION}
container_name: ${MYSQL_CONTAINER_NAME}
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- ${DOCKER_DATA_PATH}/mysql:/var/lib/mysql
- ${SQL_SCRIPT_PATH}/xxl-job-structure.sql:/docker-entrypoint-initdb.d/0000.sql
- ${SQL_SCRIPT_PATH}/gns-notification.sql:/docker-entrypoint-initdb.d/0001.sql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ports:
- ${MYSQL_LOCAL_PORT}:3306
networks:
- gitlink_network
redis:
image: redis:${REDIS_VERSION}
container_name: ${REDIS_CONTAINER_NAME}
volumes:
- ${DOCKER_DATA_PATH}/redis/data:/data
- ${DOCKER_DATA_PATH}/redis/logs:/logs
ports:
- ${REDIS_LOCAL_PORT}:6379
networks:
- gitlink_network
xxl-job-admin:
image: xuxueli/xxl-job-admin:${XXL_JOB_ADMIN_VERSION}
container_name: ${XXL_JOB_ADMIN_CONTAINER_NAME}
environment:
- JAVA_OPTS=-Xmx512m
- PARAMS=--spring.datasource.url=jdbc:mysql://${MYSQL_CONTAINER_NAME}:3306/gitlink_notification?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=${MYSQL_USER} --spring.datasource.password=${MYSQL_PASSWORD}
volumes:
- ${DOCKER_DATA_PATH}/xxl-job-admin:/data/applogs
ports:
- ${XXL_JOB_ADMIN_LOCAL_PORT}:8080
depends_on:
- mysql
networks:
- gitlink_network
zookeeper:
image: wurstmeister/zookeeper
container_name: ${ZOOKEEPER_CONTAINER_NAME}
ports:
- ${ZOOKEEPER_LOCAL_PORT}:2181
depends_on:
- kafka
networks:
- gitlink_network
kafka:
image: wurstmeister/kafka
container_name: ${KAFKA_CONTAINER_NAME}
volumes:
- /etc/localtime:/etc/localtime
ports:
- ${KAFKA_LOCAL_PORT}:9092
networks:
- gitlink_network
environment:
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_CONTAINER_NAME}
KAFKA_ZOOKEEPER_CONNECT: ${ZOOKEEPER_CONTAINER_NAME}:2181
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LOG_RETENTION_HOURS: ${KAFKA_LOG_RETENTION_HOURS}
KAFKA_MESSAGE_MAX_BYTES: ${KAFKA_MESSAGE_MAX_BYTES}
KAFKA_REPLICA_FETCH_MAX_BYTES: ${KAFKA_REPLICA_FETCH_MAX_BYTES}
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: ${KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS}
KAFKA_NUM_PARTITIONS: ${KAFKA_NUM_PARTITIONS}
KAFKA_DELETE_RETENTION_MS: ${KAFKA_DELETE_RETENTION_MS}
kafka-manager:
image: sheepkiller/kafka-manager
container_name: ${KAFKA_MANAGER_CONTAINER_NAME}
networks:
- gitlink_network
depends_on:
- kafka
environment:
ZK_HOSTS: ${ZOOKEEPER_CONTAINER_NAME}:2181
ports:
- ${KAFKA_MANAGER_LOCAL_PORT}:9000
networks:
gitlink_network:
driver: bridge
name: gitlink_network
driver_opts:
com.docker.network.enable_ipv6: "true"