Create a compose stack
Creates a compose stack and one member service per compose service on one node (members share volumes, so they stay on the same node). Deploys every member when deployNow is true.
Needs services.create on the project. Available to MCP clients and the assistant.
seylo_session<token>application/json- body
projectId*stringPanel-issued id.
^[a-z0-9]{16}$name*stringDNS-safe; the service's host name on the project network. Unique in its project.
^[a-z0-9]([a-z0-9-]*[a-z0-9])?$1 <= length <= 40nodeId*stringPanel-issued id.
^[a-z0-9]{16}$source*||deployNow?booleantrueSuccess.
application/json- response
stack*members*array<>curl -X POST 'https://example.com/api/v1/compose.create' \ -H 'Content-Type: application/json' \ -d '{ "projectId": "string", "name": "string", "nodeId": "string", "source": { "type": "inline", "yaml": "string" }}'{ "stack": { "id": "string", "projectId": "string", "name": "string", "kind": "app", "parentId": "string", "status": "idle", "source": { "type": "github", "label": "string", "branch": "string", "builder": "railpack" }, "address": "string", "placements": [ { "nodeId": "string", "nodeName": "string", "replicas": 1 } ], "cpuPercent": 0, "memoryBytes": 0, "memoryLimitBytes": 0, "liveDeployment": { "id": "string", "label": "string", "createdAt": "2019-08-24T14:15:22Z" }, "lastDeployedAt": "2019-08-24T14:15:22Z", "protected": true, "templateSlug": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }, "members": [ { "id": "string", "projectId": "string", "name": "string", "kind": "app", "parentId": "string", "status": "idle", "source": { "type": "github", "label": "string", "branch": "string", "builder": "railpack" }, "address": "string", "placements": [ { "nodeId": "string", "nodeName": "string", "replicas": 1 } ], "cpuPercent": 0, "memoryBytes": 0, "memoryLimitBytes": 0, "liveDeployment": { "id": "string", "label": "string", "createdAt": "2019-08-24T14:15:22Z" }, "lastDeployedAt": "2019-08-24T14:15:22Z", "protected": true, "templateSlug": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ]}Set the global Cloudflare tunnel token POST
Sets or removes (null) the global Cloudflare tunnel token. Running token-mode tunnels that use it restart with the new token. Needs `settings.edit`, which owners and admins hold. Not available to MCP clients or the assistant.
Get a compose stack's file GET
Returns where a stack's compose file comes from (with the pasted file) and the member services it created. Needs `services.view` on the service (a grant on its project covers it). Available to MCP clients and the assistant.