ManimCat-show / zeabur.json
Bin29's picture
chore: tighten production logging and env wiring
806eaf5
{
"name": "manimcat",
"description": "ManimCat - AI-powered mathematical animation generator with Express.js, Bull Queue and Redis",
"version": "2.0.0",
"icon": "https://raw.githubusercontent.com/yourusername/ManimCat/main/public/logo.svg",
"services": {
"app": {
"type": "service",
"dockerfile": "Dockerfile",
"buildCommand": "npm run build",
"startCommand": "node dist/server.js",
"port": 3000,
"healthCheck": {
"path": "/health",
"interval": 30,
"timeout": 600,
"retries": 3,
"startPeriod": 40
},
"env": [
{
"key": "NODE_ENV",
"value": "production",
"description": "Node environment"
},
{
"key": "PORT",
"value": "3000",
"description": "Server port"
},
{
"key": "LOG_LEVEL",
"value": "info",
"description": "Server log level"
},
{
"key": "PROD_SUMMARY_LOG_ONLY",
"value": "true",
"description": "Only emit per-job summary logs in production"
},
{
"key": "REDIS_HOST",
"value": "${REDIS_HOST}",
"description": "Redis host (auto-injected by Zeabur)"
},
{
"key": "REDIS_PORT",
"value": "${REDIS_PORT}",
"description": "Redis port (auto-injected by Zeabur)"
},
{
"key": "REDIS_PASSWORD",
"value": "${REDIS_PASSWORD}",
"description": "Redis password (if required)"
},
{
"key": "REDIS_DB",
"value": "0",
"description": "Redis database number"
},
{
"key": "OPENAI_API_KEY",
"description": "OpenAI API key for AI code generation (required)",
"required": true
},
{
"key": "OPENAI_MODEL",
"value": "glm-4-flash",
"description": "OpenAI-compatible model (glm-4-flash/gpt-4o-mini/gpt-4-turbo, etc.)"
},
{
"key": "CUSTOM_API_URL",
"value": "",
"description": "Custom OpenAI-compatible API endpoint (optional)"
},
{
"key": "MANIMCAT_API_KEY",
"value": "",
"description": "API key for authentication (optional, leave empty to disable auth)"
},
{
"key": "DISPLAY",
"value": ":99",
"description": "X display for Xvfb"
}
],
"volumes": [
{
"name": "videos",
"mountPath": "/app/public/videos"
},
{
"name": "tmp",
"mountPath": "/app/tmp"
}
],
"resources": {
"cpu": "2",
"memory": "4Gi",
"disk": "20Gi"
}
},
"redis": {
"type": "redis",
"version": "7",
"persistence": true,
"config": {
"maxmemory": "512mb",
"maxmemory-policy": "allkeys-lru",
"appendonly": "yes"
},
"resources": {
"cpu": "0.5",
"memory": "512Mi",
"disk": "5Gi"
}
}
},
"dependencies": {
"app": ["redis"]
},
"regions": ["auto"],
"networking": {
"app": {
"public": true,
"domains": []
}
}
}