Deploy Portainer in minutes.
Choose your environment below and follow the quick-start guide. Portainer is free for up to 3 nodes: forever.
How are you running your infrastructure?
Docker
Single host or Docker Swarm. Get Portainer running with one command.
Kubernetes
Existing cluster. Deploy via Helm in under 5 minutes.
Edge / Air-gapped
Remote or disconnected environments. Deploy the async edge agent.
Install on Docker
These commands install Portainer CE Server on a Docker host. Portainer Business (paid) uses the same process: swap the image tag.
Create the Portainer volume
docker volume create portainer_dataRun Portainer Server
docker run -d \
-p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latestAccess the UI
Open https://localhost:9443 in your browser. Create your admin account on first login. You'll be managing containers in under 2 minutes.
Replace portainer/portainer-ce:latest with portainer/portainer-ee:latest and enter your license key on first login.
Install on Kubernetes
Deploy Portainer via Helm into your existing cluster. Works with EKS, AKS, GKE, and self-managed distributions.
Add the Portainer Helm repository
helm repo add portainer https://portainer.github.io/k8s/
helm repo updateInstall Portainer with a LoadBalancer service
helm install --create-namespace \
-n portainer portainer portainer/portainer \
--set service.type=LoadBalancerGet the external IP and access the UI
kubectl get svc -n portainer portainerNavigate to the EXTERNAL-IP shown on port 9443. Create your admin account on first login.
Deploy an Edge Agent
The async edge agent is designed for remote, air-gapped, and OT environments. It connects outbound-only to your Portainer Server: no inbound firewall rules required.
Install Portainer Server first
Deploy Portainer Server on Docker or Kubernetes using the guides above. The edge agent connects back to it.
Add an Edge environment in Portainer UI
In Portainer Server, go to Environments → Add Environment → Edge Agent. Portainer generates a unique deploy command for that environment.
Run the generated command on your edge device
# This command is unique to each environment: generated in the Portainer UI
docker run -d \
--name portainer_edge_agent --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_agent_data:/data \
-e EDGE=1 \
-e EDGE_ID=<your-edge-id> \
-e EDGE_KEY=<your-edge-key> \
-e EDGE_INSECURE_POLL=1 \
portainer/agent:latestThe agent connects outbound to your Portainer Server. For async (offline-capable) mode, set EDGE_ASYNC=1.