jmalcloud/docker-compose.example.yml
chenpei d5d4409b7b 🐳 全面更新所有Docker Compose配置文件
✨ 主要更新:
- 将所有配置文件从原版镜像迁移到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种不同的部署方案,全部使用公共空间改造版本
2025-08-24 11:26:43 +08:00

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: {}