Installation
Install via Docker Compose
yaml
services:
mongo:
container_name: jmalcloud_mongodb
image: mongo:4.4
environment:
TZ: "Asia/Shanghai"
volumes:
- ./docker/jmalcloud/mongodb/data/db:/data/db
- ./docker/jmalcloud/mongodb/backup:/dump
restart: unless-stopped
healthcheck:
test: ["CMD", "mongo", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 3
command: --wiredTigerCacheSizeGB 0.5
jmalcloud:
container_name: jmalcloud_server
image: jmal/jmalcloud:latest
environment:
MONGODB_URI: "mongodb://mongo:27017/jmalcloud"
TZ: "Asia/Shanghai"
JVM_OPTS: "-Xms256m -Xmx512m"
volumes:
- ./docker/jmalcloud/files:/jmalcloud/files/
restart: unless-stopped
ports:
- 7072:8088
depends_on:
mongo:
condition: service_healthy
nginx:
container_name: jmalcloud_nginx
image: jmal/jmalcloud-nginx:latest
ports:
- 7070:80
- 7071:8089
environment:
TZ: "Asia/Shanghai"
links:
- jmalcloud
- office
restart: unless-stopped
office: # Optional
container_name: jmalcloud_office
image: onlyoffice/documentserver:8.0.1
environment:
TZ: "Asia/Shanghai"
JWT_SECRET: "my_secret"
restart: unless-stopped
Start
bash
docker compose up -d
JmalCloud address
JmalCloud address: http://{your_ip}:7070
JmalCloud API address
JmalCloud API address: http://{your_ip}:7072/public/api
Backup/Restore Database
Backup Database
bash
docker exec -it jmalcloud_mongodb mongodump -d jmalcloud -o /dump/back --gzip --quiet
Restore Database
bash
docker exec -it jmalcloud_mongodb mongorestore --gzip --nsInclude=jmalcloud.* --dir /dump/back --quiet