111 lines
3.1 KiB
YAML
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"
|
|
|
|
|
|
|
|
|