✨ 主要更新: - 将所有配置文件从原版镜像迁移到Git构建版本 - 统一使用 Dockerfile.git 从仓库自动构建 - 标准化环境变量和JVM配置 - 升级MongoDB到7.0版本 - 添加完整的健康检查机制 📋 更新文件列表: - docker-compose.base-aliyun-beijing.yml ✅ - docker-compose.base-aliyun-guangzhou.yml ✅ - docker-compose.base.proxy.yml ✅ - docker-compose.base.yml ✅ - docker-compose.example.yml ✅ - docker-compose.base-git.yml ✅ (新增) - DOCKER_COMPOSE_GUIDE.md ✅ (新增部署指南) 🔧 配置改进: - 内存配置优化:-Xms512m -Xmx2g~4g - 添加完整环境变量配置 - 支持加密密钥自动生成 - 统一端口映射和健康检查 📖 现在支持7种不同的部署方案,全部使用公共空间改造版本
79 lines
2.1 KiB
YAML
79 lines
2.1 KiB
YAML
services:
|
|
mongo:
|
|
container_name: ${CONTAINER_NAME_PREFIX}_mongodb
|
|
image: mongo:7.0
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
volumes:
|
|
- ${RESOURCE_DB_PATH}/data/db:/data/db
|
|
- ${RESOURCE_DB_PATH}/custom:/etc/mongo
|
|
- ${RESOURCE_DB_PATH}/backup:/dump
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
command: --wiredTigerCacheSizeGB 0.5
|
|
jmalcloud:
|
|
container_name: ${CONTAINER_NAME_PREFIX}_server
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.git
|
|
args:
|
|
GIT_REPO: https://git.1080p.hk/chenpei/jmalcloud.git
|
|
GIT_USERNAME: chenpei
|
|
GIT_PASSWORD: jsjj654321
|
|
TARGETPLATFORM: linux/amd64
|
|
image: chenpei/jmalcloud:example
|
|
environment:
|
|
MONGODB_URI: mongodb://mongo:27017/jmalcloud
|
|
TZ: Asia/Shanghai
|
|
JVM_OPTS: "-Xms512m -Xmx2g"
|
|
RUN_ENVIRONMENT: "prod"
|
|
LOG_LEVEL: "warn"
|
|
EXACT_SEARCH: "false"
|
|
FILE_MONITOR: "true"
|
|
FILE_ROOT_DIR: "/jmalcloud/files"
|
|
TESS4J_DATA_PATH: "/jmalcloud/tess4j/datapath"
|
|
MONITOR_IGNORE_FILE_PREFIX: ".DS_Store,._"
|
|
ENCRYPTION_SECRET_KEY: ""
|
|
ENCRYPTION_SALT: ""
|
|
PUID: 0
|
|
PGID: 0
|
|
ports:
|
|
- ${SERVER_PORT}:8088
|
|
volumes:
|
|
- ${RESOURCE_FILE_PATH}:/jmalcloud/files/
|
|
restart: unless-stopped
|
|
depends_on:
|
|
mongo:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8088/public/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
nginx:
|
|
container_name: ${CONTAINER_NAME_PREFIX}_nginx
|
|
image: ghcr.io/jamebal/jmalcloud-nginx:latest
|
|
ports:
|
|
- ${APP_PORT}:80
|
|
- ${BLOG_PORT}:8089
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
links:
|
|
- jmalcloud
|
|
- office
|
|
restart: unless-stopped
|
|
office:
|
|
container_name: ${CONTAINER_NAME_PREFIX}_office
|
|
image: onlyoffice/documentserver:${OFFICE_IMAGE_VERSION}
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
JWT_ENABLED: false
|
|
ALLOW_PRIVATE_IP_ADDRESS: true
|
|
restart: unless-stopped
|
|
networks: {}
|