version: '3.8' services: # 主应用服务 app: image: digital-archive:latest container_name: digital-archive-app ports: - "9081:9081" volumes: - ./data/upload:/app/data/upload - ./data/temp:/app/data/temp - ./data/unzip:/app/data/unzip - ./data/images:/app/data/images - ./data/reports:/app/data/reports - ./logs:/app/logs environment: - SPRING_PROFILES_ACTIVE=prod - SERVER_PORT=9081 - DB_HOST=database - DB_PORT=54321 - DB_NAME=enterprise_digital_archives - DB_USERNAME=system - DB_PASSWORD=12345678ab - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_PASSWORD=Abc123456 - TESS_PATH=/usr/bin/tesseract - SWAGGER_SHOW=false - LOG_ROOT_LEVEL=info - LOG_APP_LEVEL=info depends_on: - database - redis networks: - archive-network restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9081/point-strategy/actuator/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s # 人大金仓数据库 database: image: kingbase:v8.6.0 container_name: digital-archive-db ports: - "54321:54321" environment: - KINGBASE_USER=system - KINGBASE_PASSWORD=12345678ab - KINGBASE_DATABASE=enterprise_digital_archives volumes: - ./data/database:/var/lib/kingbase/data networks: - archive-network restart: unless-stopped # Redis缓存 redis: image: redis:6-alpine container_name: digital-archive-redis ports: - "6379:6379" command: redis-server --requirepass Abc123456 volumes: - ./data/redis:/data networks: - archive-network restart: unless-stopped networks: archive-network: driver: bridge