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 # MySQL数据库配置 - DB_HOST=mysql - DB_PORT=3306 - DB_NAME=enterprise_digital_archives - DB_USERNAME=root - DB_PASSWORD=Abc@123456 - DB_DRIVER=com.mysql.jdbc.Driver # Redis配置 - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_PASSWORD=Abc123456 # OCR配置 - TESS_PATH=/usr/bin/tesseract # 其他配置 - SWAGGER_SHOW=false - LOG_ROOT_LEVEL=info - LOG_APP_LEVEL=info networks: - proxy restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9081/point-strategy/actuator/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s # Elasticsearch服务 elasticsearch: image: elasticsearch:7.17.0 container_name: digital-archive-elasticsearch ports: - "9200:9200" - "9300:9300" environment: - discovery.type=single-node - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - xpack.security.enabled=false volumes: - ./data/elasticsearch:/usr/share/elasticsearch/data networks: - proxy restart: unless-stopped networks: proxy: external: true