mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 03:56:44 +08:00
78 lines
1.8 KiB
YAML
78 lines
1.8 KiB
YAML
# 生产环境 Docker Compose 配置
|
|
# 包含完整的应用服务
|
|
|
|
version: '3.9'
|
|
|
|
services:
|
|
# PostgreSQL 数据库
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: bat-postgres
|
|
environment:
|
|
POSTGRES_DB: bluearchive_toolkit
|
|
POSTGRES_USER: ${DB_USER:-bat_user}
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
POSTGRES_INITDB_ARGS: "-E UTF8 --locale=C"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-bat_user} -d bluearchive_toolkit"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- bat-network
|
|
restart: unless-stopped
|
|
|
|
# Redis 缓存
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: bat-redis
|
|
command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}
|
|
volumes:
|
|
- redis_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- bat-network
|
|
restart: unless-stopped
|
|
|
|
# API Server (待实现)
|
|
# api:
|
|
# build:
|
|
# context: .
|
|
# dockerfile: deployments/Dockerfile.api
|
|
# container_name: bat-api
|
|
# ports:
|
|
# - "${API_PORT:-8080}:8080"
|
|
# environment:
|
|
# DB_HOST: postgres
|
|
# DB_PORT: 5432
|
|
# DB_NAME: bluearchive_toolkit
|
|
# DB_USER: ${DB_USER}
|
|
# DB_PASSWORD: ${DB_PASSWORD}
|
|
# REDIS_HOST: redis
|
|
# REDIS_PORT: 6379
|
|
# REDIS_PASSWORD: ${REDIS_PASSWORD}
|
|
# depends_on:
|
|
# postgres:
|
|
# condition: service_healthy
|
|
# redis:
|
|
# condition: service_healthy
|
|
# networks:
|
|
# - bat-network
|
|
# restart: unless-stopped
|
|
|
|
volumes:
|
|
postgres_data:
|
|
driver: local
|
|
redis_data:
|
|
driver: local
|
|
|
|
networks:
|
|
bat-network:
|
|
driver: bridge
|