- BatchGenerateInviteDTO添加venueId和projects字段 - batchGenerateInviteCode方法传递venueId和projects给generateDto - MartialMiniController添加competitionId参数过滤选手 - 新增RegistrationSubmitDTO 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
120 lines
3.0 KiB
YAML
120 lines
3.0 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# MySQL 数据库
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: martial-mysql
|
|
restart: always
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: 123456
|
|
MYSQL_DATABASE: martial_db
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./database:/docker-entrypoint-initdb.d
|
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p123456"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- martial-network
|
|
|
|
# Redis 缓存
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: martial-redis
|
|
restart: always
|
|
command: redis-server --requirepass 123456
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "-a", "123456", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- martial-network
|
|
|
|
# MinIO 对象存储
|
|
minio:
|
|
image: minio/minio:RELEASE.2024-12-18T13-15-44Z
|
|
container_name: minio
|
|
environment:
|
|
MINIO_ROOT_USER: "JohnSion"
|
|
MINIO_ROOT_PASSWORD: "v!*BTket4oagDdw"
|
|
TZ: "Asia/Shanghai"
|
|
command: server /data --console-address ":9001"
|
|
volumes:
|
|
- ./minio_data:/data
|
|
ports:
|
|
- "9000:9000"
|
|
- "9001:9001"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
networks:
|
|
- martial-network
|
|
|
|
# MinIO 初始化 - 创建桶和设置策略
|
|
minio-init:
|
|
image: minio/mc:latest
|
|
depends_on:
|
|
minio:
|
|
condition: service_healthy
|
|
entrypoint: >
|
|
sh -c "
|
|
mc alias set local http://minio:9000 $${MINIO_ROOT_USER} $${MINIO_ROOT_PASSWORD} &&
|
|
mc mb -p local/assets || true &&
|
|
mc anonymous set download local/assets || true
|
|
"
|
|
environment:
|
|
MINIO_ROOT_USER: "JohnSion"
|
|
MINIO_ROOT_PASSWORD: "v!*BTket4oagDdw"
|
|
restart: "no"
|
|
networks:
|
|
- martial-network
|
|
|
|
# 后端应用
|
|
martial-api:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: martial-api
|
|
restart: always
|
|
environment:
|
|
SPRING_PROFILE: dev
|
|
JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseG1GC"
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/martial_db?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: root
|
|
SPRING_DATASOURCE_PASSWORD: 123456
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SPRING_DATA_REDIS_PORT: 6379
|
|
SPRING_DATA_REDIS_PASSWORD: 123456
|
|
ports:
|
|
- "8123:8123"
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
networks:
|
|
- martial-network
|
|
|
|
networks:
|
|
martial-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|