and Security


Application Deployment

At its heart, Portainer helps developers deploy cloud-native applications into containers simply, quickly and securely.

Portainer has its own simplified GUI, which makes it easy for users to get started. For advanced users, Portainer incorporates an API that allows it to connect to CI/CD tools or third-party dashboards/deployment tools.

Portainer BE Icons_cluster management

Manual deployment options

For users with limited to zero knowledge of containers Portainer’s custom Application Templates are the ultimate “click to deploy” bootstrap for getting commonly used applications up and running fast. The Custom Templates can also be used by developers to rapidly prototype and test against a disposable system, or for repetitive use cases such as QA. To use an Application Template, a user simply needs to deploy an application, tune/configure it as they wish, and then select the option to “save as template”. This applications configuration will now be available to “single click deploy” any subsequent time.

Portainer’s support for HELM charts is limited to Kubernetes clusters, and provides users with the ability to deploy any application that is made available via the Bitnami HELM repo; alternatively, the Portainer administrator can connect Portainer to an internal repository, thereby restricting user deployments from only this trusted repo. Helm charts can be adjusted inside Portainer through our “values” editor, which lets you set whatever options are made available by the publisher of the HELM chart.


Portainer's Application Deployment Form is by far the easiest and quickest way to get your application up and running. You don’t need to know how to write complex deployment code for Docker or Kubernetes, nor any need to know how best to deploy your application atop any orchestrator. You simply need to be able to answer some natural language questions about your application and Portainer will determine the best way to deploy it.

The Application Deployment Form is pre-configured with all the rules the underlying platforms must adhere to, and the constraints application deployments must operate within, which prevents users from requesting a deployment configuration that won’t work. If the deployment button is available, your deployment will succeed, period.

The rules engine incorporates a powerful quota management system. Administrators are invited to assign quotas on resources such as CPU/RAM/Disk/Load Balancers, and users are required to deploy applications within these assigned constraints. This functionality extends to disabling the ability to over-commit cluster resources, removing any chance of catastrophic issues such as “out of memory” errors. Admins can even disable the use of the unconstrained “default” Kubernetes namespaces to completely de-risk the deployment.

Code-based deployment is for more experienced users who want to exert a tighter degree of control over the deployment of their application. In this model, you simply provide Portainer with a copy of the deployment manifest (Docker compose or Kubernetes manifest), and Portainer will handle the deployment of the application to the selected endpoint. Portainer can also be configured to connect to a Git repo, from which it can deploy the application on demand.

application management_automated deployment

Automated deployment options

Portainer is more than just a UI, Portainer can also act as a Continuous Deployment (CD) system. DevOps professionals are able to connect Portainer to their Git repos, and Portainer will automatically deploy any application defined in that repo, and ensure any changes that are made in Git are propagated to the running application. This redeploy can either be manual (where organisational policies require so), automated through webhooks (so the CI system can notify Portainer) or automated through our “poller” which checks for changes on a regular schedule.