Files
martial-master/docker-compose.yml
宅房 dca5e5050f fix: 修复批量导入裁判时venueId和projects参数丢失问题
- BatchGenerateInviteDTO添加venueId和projects字段
- batchGenerateInviteCode方法传递venueId和projects给generateDto
- MartialMiniController添加competitionId参数过滤选手
- 新增RegistrationSubmitDTO

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 15:44:29 +08:00

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: