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