{ "$schema": "https://schemas.runtipi.io/dynamic-compose.json", "schemaVersion": 2, "services": [ { "name": "mergedrop", "image": "git.alexzaw.dev/alexz/mergedrop:1.0.2", "isMain": true, "internalPort": 8000, "environment": [ { "key": "PORT", "value": "8000" }, { "key": "TZ", "value": "${TZ}" }, { "key": "MERGEDROP_UPLOAD_DIR", "value": "/data/uploads" }, { "key": "MERGEDROP_OUTPUT_DIR", "value": "/data/outputs" }, { "key": "MERGEDROP_THUMB_DIR", "value": "/data/thumbs" }, { "key": "MERGEDROP_MAX_FILES", "value": "${MERGEDROP_MAX_FILES}" }, { "key": "MERGEDROP_MAX_FILE_SIZE", "value": "${MERGEDROP_MAX_FILE_SIZE}" }, { "key": "MERGEDROP_OUTPUT_MAX_AGE_HOURS", "value": "${MERGEDROP_OUTPUT_MAX_AGE_HOURS}" }, { "key": "CORS_ORIGINS", "value": "${APP_PROTOCOL}://${APP_DOMAIN}" }, { "key": "MONGO_URL", "value": "mongodb://mergedrop-db:27017" }, { "key": "DB_NAME", "value": "mergedrop" } ], "volumes": [ { "hostPath": "${APP_DATA_DIR}/data/uploads", "containerPath": "/data/uploads", "readOnly": false }, { "hostPath": "${APP_DATA_DIR}/data/outputs", "containerPath": "/data/outputs", "readOnly": false }, { "hostPath": "${APP_DATA_DIR}/data/thumbs", "containerPath": "/data/thumbs", "readOnly": false } ], "healthCheck": { "test": "curl -fsS http://127.0.0.1:8000/api/ || exit 1", "interval": "30s", "timeout": "5s", "retries": 3, "startPeriod": "20s" }, "dependsOn": { "mergedrop-db": { "condition": "service_healthy" } } }, { "name": "mergedrop-db", "image": "mongo:7.0", "volumes": [ { "hostPath": "${APP_DATA_DIR}/db", "containerPath": "/data/db", "readOnly": false } ], "healthCheck": { "test": "mongosh --quiet --eval \"db.adminCommand('ping')\"", "interval": "10s", "timeout": "5s", "retries": 5, "startPeriod": "20s" } } ] }