portainer/portainer · error · HandlerError

Docker is not supported by this stack

Error message

Docker is not supported by this stack

What it means

Error "Docker is not supported by this stack" thrown in portainer/portainer.

Source

Thrown at api/http/handler/endpointedge/endpointedge_stack_inspect.go:83

		return httperror.InternalServerError("Unable to find an edge stack with the specified identifier inside the database", fmt.Errorf("failed to find Edge stack from the database: %w. Environment ID: %d", err, endpoint.ID))
	}

	// WARNING: this variable must not be mutated
	edgeStack := s.(*portainer.EdgeStack)

	relation, err := handler.DataStore.EndpointRelation().EndpointRelation(endpoint.ID)
	if err != nil && !handler.DataStore.IsErrObjectNotFound(err) {
		return httperror.InternalServerError("Unable to retrieve relation object from the database", fmt.Errorf("%w. Environment ID: %d", err, endpoint.ID))
	}

	if relation == nil || !relation.EdgeStacks[edgeStack.ID] {
		return httperror.Forbidden("Permission denied to access this Edge stack", fmt.Errorf("Edge stack %d is not assigned to environment %d", edgeStack.ID, endpoint.ID))
	}

	fileName := edgeStack.EntryPoint
	if endpointutils.IsDockerEndpoint(endpoint) {
		if fileName == "" {
			return httperror.BadRequest("Docker is not supported by this stack", fmt.Errorf("no filename is provided for the Docker endpoint. Environment ID: %d", endpoint.ID))
		}
	}

	namespace := ""
	if !edgeStack.UseManifestNamespaces {
		namespace = kubernetes.DefaultNamespace
	}

	if endpointutils.IsKubernetesEndpoint(endpoint) {
		fileName = edgeStack.ManifestPath

		if fileName == "" {
			return httperror.BadRequest("Kubernetes is not supported by this stack", fmt.Errorf("no filename is provided for the Kubernetes endpoint. Environment ID: %d", endpoint.ID))
		}
	}

	dirEntries, err := filesystem.LoadDir(edgeStack.ProjectPath)
	if err != nil {

View on GitHub (pinned to 17e74456ff)

When it happens

Trigger: Thrown at api/http/handler/endpointedge/endpointedge_stack_inspect.go:83 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of portainer/portainer@17e74456ff (2026-08-26). Data as JSON: /api/errors/e206696b5421675e. Report an issue: GitHub.