create_dockerfile_application
Create and deploy applications from Dockerfile content in Coolify PaaS by specifying project, environment, server, ports, and deployment options.
Instructions
Create a new application from a Dockerfile
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_uuid | Yes | Project UUID | |
| environment_name | Yes | Environment name | |
| environment_uuid | No | Environment UUID (optional) | |
| server_uuid | Yes | Server UUID | |
| destination_uuid | No | Destination UUID (optional if server has single destination) | |
| dockerfile | Yes | Dockerfile content (base64 encoded) | |
| ports_exposes | Yes | Ports to expose (e.g., "3000,8080") | |
| name | No | Application name (optional, auto-generated if not provided) | |
| description | No | Application description | |
| instant_deploy | No | Deploy immediately after creation |
Implementation Reference
- src/tools/handlers.ts:189-195 (handler)The switch case handler that validates required input parameters and calls the Coolify API POST /applications/dockerfile endpoint to create the application from Dockerfile.case 'create_dockerfile_application': requireParam(args, 'project_uuid'); requireParam(args, 'environment_name'); requireParam(args, 'server_uuid'); requireParam(args, 'dockerfile'); requireParam(args, 'ports_exposes'); return client.post('/applications/dockerfile', args);
- src/tools/definitions.ts:353-372 (schema)Tool definition including name, description, and detailed input schema with required parameters for creating an application from a base64-encoded Dockerfile.{ name: 'create_dockerfile_application', description: 'Create a new application from a Dockerfile', inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'Project UUID' }, environment_name: { type: 'string', description: 'Environment name' }, environment_uuid: { type: 'string', description: 'Environment UUID (optional)' }, server_uuid: { type: 'string', description: 'Server UUID' }, destination_uuid: { type: 'string', description: 'Destination UUID (optional if server has single destination)' }, dockerfile: { type: 'string', description: 'Dockerfile content (base64 encoded)' }, ports_exposes: { type: 'string', description: 'Ports to expose (e.g., "3000,8080")' }, name: { type: 'string', description: 'Application name (optional, auto-generated if not provided)' }, description: { type: 'string', description: 'Application description' }, instant_deploy: { type: 'boolean', description: 'Deploy immediately after creation', default: false } }, required: ['project_uuid', 'environment_name', 'server_uuid', 'dockerfile', 'ports_exposes'] } },