Actions190
- Auth Actions
- Backup Actions
- Custom Templates Actions
- Docker Actions
- Edge Groups Actions
- Edge Jobs Actions
- Edge Stacks Actions
- Endpoint Groups Actions
- Endpoints Actions
- Endpoint Delete Batch
- Endpoint List
- Endpoint Create
- Endpoint Delete
- Endpoint Inspect
- Endpoint Update
- Endpoint Association Delete
- Endpoint Dockerhub Status
- Endpoint Edge Status Inspect
- Endpoint Force Update Service
- Endpoint Registries List
- Endpoint Registry Access
- Endpoint Settings Update
- Endpoint Snapshot
- Endpoint Update Relations
- Gitops Actions
- Helm Actions
- Intel Actions
- Kubernetes Actions
- Get All Kubernetes Applications
- Get All Kubernetes Applications Count
- Delete Cluster Role Bindings
- Delete Cluster Roles
- Get All Kubernetes Cluster Role Bindings
- Get All Kubernetes Cluster Roles
- Get All Kubernetes Config Maps
- Get All Kubernetes Config Maps Count
- Get Kubernetes Cron Jobs
- Delete Cron Jobs
- Get Kubernetes Dashboard
- Get All Kubernetes Ingress Controllers
- Update Kubernetes Ingress Controllers
- Get All Kubernetes Cluster Ingresses
- Get All Kubernetes Cluster Ingresses Count
- Delete Kubernetes Ingresses
- Get Kubernetes Jobs
- Delete Jobs
- Get Kubernetes Max Resource Limits
- Get Applications Resources
- Get Kubernetes Metrics For All Nodes
- Get Kubernetes Metrics For Node
- Get Kubernetes Metrics For All Pods
- Get Kubernetes Metrics For Pod
- Delete Kubernetes Namespace
- Get Kubernetes Namespaces
- Create Kubernetes Namespace
- Update Kubernetes Namespace Deprecated
- Get Kubernetes Namespace
- Update Kubernetes Namespace
- Get Kubernetes Config Map
- Get Kubernetes Ingress Controllers By Namespace
- Update Kubernetes Ingress Controllers By Namespace
- Get All Kubernetes Ingresses
- Create Kubernetes Ingress
- Update Kubernetes Ingress
- Get Kubernetes Ingress
- Get Kubernetes Secret
- Get Kubernetes Services By Namespace
- Create Kubernetes Service
- Update Kubernetes Service
- Kubernetes Namespaces Toggle System
- Get Kubernetes Volumes In Namespace
- Get Kubernetes Namespaces Count
- Get Kubernetes Nodes Limits
- Get Kubernetes RBAC Status
- Delete Role Bindings
- Get Kubernetes Role Bindings
- Get Kubernetes Roles
- Delete Roles
- Get Kubernetes Secrets
- Get Kubernetes Secrets Count
- Delete Service Accounts
- Get Kubernetes Service Accounts
- Get Kubernetes Services
- Get All Kubernetes Services Count
- Delete Kubernetes Services
- Get All Kubernetes Volumes
- Get Kubernetes Volume
- Get All Kubernetes Volumes Count
- Get Kubernetes Config
- Ldap Actions
- Registries Actions
- Resource Controls Actions
- Settings Actions
- Ssl Actions
- Stacks Actions
- Stack List
- Stack Delete
- Stack Inspect
- Stack Update
- Stack Associate
- Stack File Inspect
- Stack Update Git
- Stack Git Redeploy
- Stack Migrate
- Stack Start
- Stack Stop
- Stack Create Kubernetes Git
- Stack Create Kubernetes File
- Stack Create Kubernetes Url
- Stack Create Docker Standalone File
- Stack Create Docker Standalone Repository
- Stack Create Docker Standalone String
- Stack Create Docker Swarm File
- Stack Create Docker Swarm Repository
- Stack Create Docker Swarm String
- Stack Delete Kubernetes By Name
- Webhook Invoke
- Tags Actions
- Team Memberships Actions
- Teams Actions
- Templates Actions
- Upload Actions
- Users Actions
Stacks → Stack Create Docker Swarm File
AI-generatedOverview
This node operation allows you to create a new stack in a Docker Swarm environment managed by Portainer using a stack file. It is useful for automating the deployment of containerized applications defined by Docker Compose files or similar stack definitions directly into a Swarm cluster. Typical use cases include continuous deployment pipelines, infrastructure automation, and managing multi-container Docker applications programmatically.
For example, you can use this node to deploy a microservices application described in a Docker Compose file to a specific Docker Swarm cluster by providing the stack file content, environment variables, and target swarm cluster ID.
Properties
| Name | Meaning |
|---|---|
| Endpoint Id | Identifier of the environment (Docker endpoint) where the stack will be deployed. |
| Name | The name assigned to the stack being created. |
| Swarm ID | Identifier of the Docker Swarm cluster where the stack will be deployed. |
| Env | Optional environment variables passed during deployment, formatted as a JSON array of objects with name and value keys. Example: [{"name": "VAR1", "value": "value1"}]. |
| File | The stack file content defining the services and configuration of the stack (typically a Docker Compose YAML file). |
Output
The node outputs JSON data representing the response from the Portainer API after attempting to create the stack. This typically includes details about the newly created stack such as its ID, name, status, and any relevant metadata returned by the API.
No binary data output is expected from this operation.
Dependencies
- Requires an active connection to a Portainer instance via an API key credential.
- The Portainer URL and authentication credentials must be configured in n8n.
- The target Docker environment (endpoint) and Swarm cluster must be accessible by Portainer.
Troubleshooting
Common issues:
- Invalid or missing endpoint ID or swarm cluster ID may cause deployment failures.
- Malformed stack file content (invalid YAML or unsupported features) can result in errors.
- Incorrect environment variable formatting (not a valid JSON array) may cause the deployment to fail.
- Network connectivity issues between Portainer and the Docker Swarm cluster can prevent stack creation.
Error messages:
- Authentication errors indicate invalid or missing API credentials.
- Validation errors from the API often point to incorrect property values or missing required fields.
- Timeout or connection refused errors suggest network or service availability problems.
To resolve these, verify all input parameters, ensure the stack file is correctly formatted, confirm that the Portainer API credentials are valid, and check network connectivity.