Spaces:
Sleeping
Sleeping
| { | |
| "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": [] | |
| } | |
| } | |
| } | |