diff --git a/api/stacks/deployer.go b/api/stacks/deployer.go index 80bd86384..ccd13fd0b 100644 --- a/api/stacks/deployer.go +++ b/api/stacks/deployer.go @@ -52,7 +52,11 @@ func (d *stackDeployer) DeployComposeStack(stack *portainer.Stack, endpoint *por d.swarmStackManager.Login(registries, endpoint) defer d.swarmStackManager.Logout(endpoint) - return d.composeStackManager.Up(context.TODO(), stack, endpoint, forceRereate) + err := d.composeStackManager.Up(context.TODO(), stack, endpoint, forceRereate) + if err != nil { + d.composeStackManager.Down(context.TODO(), stack, endpoint) + } + return err } func (d *stackDeployer) DeployKubernetesStack(stack *portainer.Stack, endpoint *portainer.Endpoint, user *portainer.User) error {