jmalcloud/docker-compose.git.yml
chenpei 0d9ae59e19 🐳 添加Git仓库Docker构建支持
✨ 新增功能:
- 新增 Dockerfile.git 支持从Git仓库构建
- 新增 docker-compose.git.yml 配置文件
- 新增 build-from-git.sh 一键部署脚本
- 更新 docker-entrypoint.sh 适配新构建方式
- 更新 README.md 添加Git构建说明

🔧 配置更新:
- 支持从 https://git.1080p.hk/chenpei/jmalcloud 自动构建
- 优化构建流程和容器启动脚本
- 添加完整的Docker健康检查

📖 文档更新:
- 添加Git仓库构建部署文档
- 提供一键部署解决方案
2025-08-24 11:21:48 +08:00

88 lines
2.2 KiB
YAML

version: '3.8'
services:
mongo:
container_name: jmalcloud_mongodb
image: mongo:7.0
environment:
TZ: "Asia/Shanghai"
volumes:
- ./docker/jmalcloud/mongodb/data/db:/data/db
- ./docker/jmalcloud/mongodb/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: jmalcloud_server_git
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: jmalcloud:git-latest
environment:
MONGODB_URI: "mongodb://mongo:27017/jmalcloud"
TZ: "Asia/Shanghai"
JVM_OPTS: "-Xms512m -Xmx4g"
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,._"
NGRAM_MAX_CONTENT_LENGTH_MB: "5"
NGRAM_MIN_SIZE: "2"
NGRAM_MAX_SIZE: "6"
# 如果为空系统会自动生成
ENCRYPTION_SECRET_KEY: ""
ENCRYPTION_SALT: ""
PUID: 0
PGID: 0
volumes:
- ./docker/jmalcloud/files:/jmalcloud/files/
restart: unless-stopped
ports:
- "7072:8088"
- "7073:8089"
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: jmalcloud_nginx
image: jmal/jmalcloud-nginx:latest
ports:
- "7070:80"
- "7071:8089"
environment:
TZ: "Asia/Shanghai"
restart: unless-stopped
depends_on:
- jmalcloud
links:
- jmalcloud
- office
office: # Optional
container_name: jmalcloud_office
image: onlyoffice/documentserver:9.0
environment:
TZ: "Asia/Shanghai"
JWT_SECRET: "my_secret"
restart: unless-stopped