Running Docker Swarm but eyeing Kubernetes? Don’t miss our free 60-min webinar
Industrial IoT

Managing large-scale fleets of IoT, IIoT, and automotive edge devices

Tens of thousands of containerized edge devices KubeSolo, Docker, or Podman runtimes: deployed, updated, and governed centrally through the Portainer Industrial App Portal.
Verticals
Industrial IoT · Automotive · Drones / UAV · Healthcare IoMT · Smart Infrastructure
Runtimes
KubeSolo · Docker · Podman
Scale
Hundreds to hundreds of thousands of devices
Topology
Single node · 3-node HA cluster · multi-tier
Key product
Portainer + Industrial App Portal

Why IoT fleet management at scale requires a purpose-built operations layer

What Portainer does here: The Portainer edge agent deploys as a container on any Docker, Podman, or KubeSolo device and establishes an outbound connection to a central Portainer server. The Industrial App Portal provides the application catalogue and delivery mechanism: ISVs publish versioned applications, operations teams deploy to device groups, and Portainer handles distribution, health monitoring, and update rollout across the entire fleet. Offline devices receive queued updates on reconnection.

Industrial IoT, IoMT (Internet of Medical Things), Automotive IoT, and smart infrastructure deployments share a common operational pattern: a large number of physically distributed devices, each running one or more containerized applications, that must be deployed, updated, configured, monitored, and secured consistently, without on-site technical staff at most locations, often with intermittent or bandwidth-constrained connectivity, and with an application update cadence that is not friendly to manual per-device management.

The scale of these fleets varies enormously. A connected vehicle platform might manage software on hundreds of thousands of in-vehicle compute units. A drone operations platform might manage containerized navigation, telemetry, and payload processing applications across a fleet of hundreds of UAVs, each requiring consistent software state and the ability to receive mission-critical updates when the vehicle is in range. A pharmaceutical manufacturer might manage containerized monitoring and control applications on a few hundred bioreactors and packaging lines across 20 global plants. A hospital network might manage IoMT gateway devices at 50 sites, each aggregating data from dozens of patient monitoring systems. A smart grid operator might have containerized edge analytics running at thousands of substations. The operational challenge is structurally identical regardless of the device count: consistent deployment, reliable updates, and centralized visibility across a fleet that cannot be managed device by device.

The device diversity adds another dimension of complexity. Edge IoT hardware is not homogeneous. The same fleet might contain x86 devices running Docker on full Linux, ARM-based embedded systems running Podman, and compute-capable devices at higher-value sites running KubeSolo. And the topology is not always flat: many IoMT, industrial, and smart infrastructure deployments use a tiered architecture — single-node devices closest to the data source, feeding into small 3-node Talos clusters that aggregate and forward upstream. Portainer manages every tier from the same management plane, with each node and cluster visible as a distinct environment in the fleet view.

The hardest part of industrial IoT at scale is not connecting devices it is keeping them consistently operational at scale over time. Initial deployment is a solved problem with enough manual effort. Keeping 10,000 devices updated, compliant, and healthy without manual effort per device is not.

KubeSolo, Docker, or Podman: one management plane regardless of runtime

Portainer manages all three container runtimes from a single interface. The choice of runtime is driven by device capability, existing operational standards, and application requirements not by the management tooling.

Docker
Standard edge runtime

The dominant runtime on x86 and ARM edge devices where KubeSolo is not required. Docker Compose stacks managed through Portainer. Full container lifecycle management, volume management, network configuration, and log access. Most industrial IoT ISV applications are packaged as Docker Compose stacks.

Podman
Rootless / daemonless

Preferred in environments where a persistent Docker daemon is a security concern, or where rootless container execution is required. Portainer manages Podman environments with identical tooling to Docker, including Compose stack deployment and container management. Other Kubernetes distributions are also supported where organizational standards require them.

Real-world IoT fleet scenarios where this pattern applies

These are industry scenarios illustrating where this architecture applies. They are not Portainer customer references.

Automotive IoT · Drones / UAV

Connected vehicle and drone fleet software management

Automotive OEMs and Tier 1 suppliers manage containerized in-vehicle applications across vehicle populations ranging from tens of thousands to millions of units. Drone operators face the same challenge: navigation, telemetry, payload processing, and computer vision applications running on each UAV must be consistently deployed and updated across a fleet that is geographically dispersed and intermittently connected — updates land when the vehicle is in range. In both cases, the operational requirement is identical: reliable OTA application delivery, offline resilience, and centralized fleet visibility without manual intervention per vehicle.

Industrial IoT / Smart Manufacturing

Containerized edge analytics across global manufacturing plants

Manufacturing companies running Siemens Industrial Edge, Bosch IoT Suite, or custom containerized OPC-UA analytics applications on hundreds or thousands of industrial PCs and edge servers. Each plant might run dozens of devices; each device runs containerized applications that read from PLCs, run local analytics, and feed data to plant historians or cloud platforms. This is the fleet pattern Portainer is designed for: centralized deployment and update management, with each device operating autonomously whether connected or not.

Healthcare IoMT

Tiered medical device gateway architecture in hospital networks

Hospital networks increasingly deploy a tiered IoMT gateway architecture. A single-node device (Docker or KubeSolo) sits at the bedside or ward level, proximate to patient monitoring equipment, infusion pumps, and ventilators. It handles local data normalization and protocol translation (HL7, FHIR, proprietary device protocols) with minimal latency. That node feeds into a small 3-node Talos cluster on the floor or wing, which provides resilience and handles aggregation, deduplication, and upstream forwarding to the EHR or clinical data platform. If the bedside node fails or loses connectivity, the patient device can communicate directly to the floor cluster. Portainer manages both tiers from the same management plane, with biomedical engineering teams scoped to their floor's environments and strict change control on any application touching clinical data.

Smart Infrastructure

Containerized analytics at utility substations and grid edge

Utility operators running containerized edge analytics applications at substations, water treatment facilities, and smart meter aggregation points. Applications process local sensor streams, run anomaly detection, and manage demand response automation. Sites are often unstaffed and may have limited WAN connectivity. The operational model requires a management system that is tolerant of intermittent connectivity and capable of delivering application updates without site visits.

Single-node, small cluster, and tiered: Portainer manages every configuration

Not all IoT fleet deployments are flat. A single Portainer instance manages single-node devices, small high-availability clusters, and multi-tier architectures simultaneously — each appearing as a distinct environment in the fleet view, each receiving the same centralized deployment, update, and governance capabilities.

The tiered IoMT pattern in practice: A single-node device at the bedside collects and normalizes patient data locally, reducing transmission latency and removing dependency on network availability for time-sensitive readings. It feeds into a 3-node floor cluster that provides resilience and handles aggregation. If the bedside node is unavailable, the patient device communicates directly to the floor cluster. Portainer manages both tiers — the single node and the cluster — from one management plane.
Multi-tier IoMT topology — Portainer managing all tiers
Multi-tier IoMT topology showing Portainer managing bedside single nodes feeding into floor clusters, aggregating to a hospital hub, then to central PortainerTIER 1TIER 2CENTRALTIER 1 — Device-proximate single nodesDocker / KubeSolo · minimal latency · local normalizationBEDSIDE NODE ASingle node · DockerHL7 / FHIR normalizationPortainer agentBEDSIDE NODE BSingle node · DockerDevice protocol adapterPortainer agentBEDSIDE NODE CSingle node · KubeSoloLocal analytics + alertPortainer agent···more nodesdirect fallbackif node unavailableTIER 2 — Floor aggregation cluster3-NODE TALOS CLUSTER (floor / wing level)Aggregation · deduplication · FHIR normalization · upstream forwardingHA: tolerates loss of 1 node · data continues to flow if bedside node goes offlinePortainer agent (cluster-scoped)upstream (LAN / WAN)CENTRAL — Hospital or enterprise hubEHR / Clinical Data Platform / SCADA / HistorianReceives aggregated, normalized data from floor clustersMay itself run on a Portainer-managed Kubernetes clusterPortainer ServerManages all tiers: single nodes + clustersRBAC per tier · GitOps · audit trail · IAP

The same tiered pattern applies beyond healthcare. In industrial environments, machine-level single nodes (Docker or KubeSolo) read from PLCs and run local analytics, feeding into zone-level 3-node Talos clusters that aggregate to a plant historian. In smart grid deployments, substation RTUs run single-node containerized edge analytics, feeding into district-level Talos aggregation clusters. In each case, Portainer manages every tier from one management plane, with edge groups in the Industrial App Portal mapping to the topology — bedside nodes in one group, floor clusters in another, each receiving appropriately targeted application versions and update policies.

What the Portainer Industrial App Portal does

The Industrial App Portal is Portainer's application catalogue and delivery mechanism for IoT and IIoT fleet deployments. It addresses a specific and underserved problem: an ISV builds a strong industrial edge application, containerizes it, and then faces the question of how to actually get it running and keep it running across a customer's fleet of hundreds or thousands of edge devices. Building a custom device management platform is a multi-year distraction from the core product. Asking the customer to manage it themselves means a support ticket every time something needs updating. The Industrial App Portal gives ISVs a standard, governed delivery channel to customer-managed fleets, without either party needing to build anything bespoke.

Application catalogue with one-click deployment

ISVs publish their containerized applications to the portal as versioned entries, complete with deployment configuration (environment variables, volume mounts, port mappings, resource limits). Enterprise customers browse the catalogue and deploy applications to their fleet or selected subsets of their fleet with a single action. No Docker Compose file editing, no Helm values customization required at the point of deployment for standard configurations.

Fleet-scoped application targeting

Applications can be deployed to all devices in the fleet, to a named group of devices (all devices in Plant A, all devices of hardware type X), or to individually selected devices. The targeting is defined once in Portainer's edge group configuration and applied consistently across all deployments from the catalogue. When a new device is added to a group, it automatically receives the applications assigned to that group.

Update management with rollout control

When an ISV publishes a new version of an application to the portal, the enterprise operations team controls the rollout: immediate push to all devices, staged rollout to a percentage of the fleet, or manual approval per device group. Devices that are offline when an update is published receive it on reconnection. Rollback to the previous version is a single action in the portal Portainer reverts the deployment on all affected devices.

Device health and application status at fleet scale

The portal provides a unified health view across the entire fleet which devices are online, which applications are running, which deployments are current, which devices have failed health checks. Filtering by device group, site, hardware type, or application version lets operations teams quickly identify and act on fleet-wide issues without per-device investigation. Alert thresholds can be configured to surface devices that have not checked in within an expected window.

Fleet management topology

Portainer Industrial App Portal fleet management topology
Fleet management topology showing Portainer server, Industrial App Portal, and edge device fleetISV APPLICATION CATALOGUEApp v2.4.1 publishedApp v2.3.0 previousApp catalogue entryPortainer ServerIndustrial App PortalFleet grouping + targetingGitOps deployment engineRBAC · Audit trailHealth dashboard (all devices)Update rollout controlOffline device sync bufferEDGE FLEEToutbound agent connectionsGROUP A Plant 1 (x86 Docker)42 devices · App v2.4.1 currentPortainer agent on each deviceGROUP B Vehicle fleet (ARM)8,400 devices · updating to v2.4.1Podman · staged 10% / dayGROUP C GPU nodes (KubeSolo)120 devices · App v2.4.1 currentKubeSolo · Helm chart deployOPERATIONS TEAM ACTIONS (from single Portainer dashboard)Deploy new app version to Group A immediatelyStage Group B rollout at 10% of fleet per dayRoll back any group to previous version (one click)View health status of all 8,562 devicesFilter offline devices that missed last updateRBAC: plant team sees only their group

How fleet deployment and update management works in practice

1

Provision the edge device and install the Portainer agent

On Docker or Podman devices, the Portainer agent is deployed as a container with a single Docker run command, configured with the central Portainer server address. On KubeSolo devices, the agent is deployed via Helm. The agent establishes an outbound connection to the Portainer server no inbound firewall rules at the edge site. The device appears in the Portainer fleet view within seconds of agent startup, with its runtime type, hardware details, and running containers visible.

2

Assign the device to edge groups

Edge groups in Portainer define which applications are deployed to which devices. A device assigned to the "Plant 1 line monitoring" group automatically receives all applications assigned to that group, both at first assignment and when new applications or updates are published to the group. Groups can be defined by geography, hardware type, customer, function, or any combination. A single device can belong to multiple groups.

3

Publish applications to the Industrial App Portal catalogue

ISVs or the enterprise IT team publish containerized applications to the portal catalogue as Docker Compose stacks (for Docker/Podman devices) or Helm charts (for KubeSolo devices), with versioned configuration. Published applications include their resource requirements, environment variable definitions, volume mounts, and network configuration. The operations team does not need to understand Docker Compose syntax to deploy from the catalogue they select the application, configure any site-specific variables, and deploy to a group.

4

Deploy to the fleet: immediate or staged rollout

Applications are deployed to edge groups from the portal. Portainer distributes the deployment instruction to all agents in the group simultaneously (or in batches for staged rollouts). Each agent pulls the required container images from the configured registry (a self-hosted registry such as Harbor, or a public registry with appropriate credentials), starts the containers, and reports status back to the Portainer server. The operations team can monitor deployment progress across the fleet in real time from the portal dashboard.

5

Manage updates across the fleet

When an updated application version is ready, it is published to the portal catalogue. The operations team configures the update rollout: immediate push to all devices, staged rollout to groups in sequence, or percentage-based rollout with health checks between batches. Devices that are offline when the update is published receive it automatically on reconnection. The entire update history is logged in Portainer's audit trail which devices were updated, when, by whom, with what version, and what the outcome was.

6

Monitor fleet health and manage incidents

The Portainer fleet dashboard shows the health status of every device in the fleet online/offline, container status, last check-in time, current application versions. Filtering by group, hardware type, or application version allows operations teams to quickly identify anomalies. For a device with a failed container, the operations team can access logs, restart containers, or push a configuration change from the Portainer UI without requiring physical access to the device or an SSH session.

What Portainer provides that existing IoT fleet tooling does not

Most organisations at this scale already have fleet management tooling in place — AWS Greengrass, Azure IoT Edge, or a home-grown platform built around MQTT, Ansible, or a bespoke provisioning pipeline. The problem is not that those tools don't work at all. The problem is that they were designed around the device management and telemetry problems of the last decade, not around the reality of a fleet where every device runs one or more containerized applications that need to be deployed, updated, rolled back, and governed like software — because that is what they are. AWS Greengrass works well inside the AWS ecosystem. It becomes a constraint the moment your ISV ships a Helm chart, your fleet includes KubeSolo nodes alongside Docker hosts, or your operations team needs to manage a tiered topology that spans single-node bedside devices and 3-node Talos floor clusters from one interface. Home-grown tooling has no proven track record at scale and no roadmap. Every edge case becomes an engineering project.

Runtime-agnostic: KubeSolo, Docker, and Podman from one tool

Most IoT management platforms specialize in one runtime. Portainer manages Docker Compose stacks, Podman environments, and Kubernetes (via KubeSolo or full k8s) with identical operations tooling and from the same management interface. A fleet that contains a mix of runtime types which is the reality in most large industrial IoT deployments does not require separate management tools for each runtime class.

The Industrial App Portal removes per-device deployment complexity from operations teams

Operations teams managing industrial IoT fleets are not Docker experts. The Industrial App Portal abstracts the container runtime details behind a catalogue-and-deploy model that any operations team can operate. ISVs publish the application; the operations team deploys it. The configuration complexity lives in the catalogue entry, not in the deployment workflow.

Built for intermittent connectivity

The Portainer edge agent was designed to operate in environments where connectivity between the edge device and the central server is not continuous. The agent buffers state locally, continues running its workloads regardless of connectivity, and syncs with the central server when connectivity is restored. Update instructions queued while a device was offline are delivered on reconnection. This is the operational model for automotive IoT, remote industrial sites, and agricultural deployments it is not a feature addition, it is the baseline behavior.

RBAC that maps to organizational structure in complex industrial environments

Large industrial IoT deployments span multiple plants, customers, or regions, each with their own operations teams. Portainer's RBAC allows the central IT team to define access policies that mirror the organizational structure Plant 1's operations team sees Plant 1's devices, a customer's administrator sees only that customer's fleet, the ISV support team has read-only log access to deployed applications without access to the customer's infrastructure configuration. These access policies are defined centrally and enforced consistently.

Application delivery channel for ISVs without custom MDM infrastructure

ISVs building containerized industrial edge applications face a commercial challenge: how to deliver and update their application on customer-managed fleets without depending on the customer's IT team to manage the deployment mechanics, and without building and maintaining their own mobile device management (MDM) infrastructure. The Portainer Industrial App Portal gives ISVs a standard application delivery channel to any customer running Portainer publish to the catalogue, control the release cadence, and reach the customer's fleet without bespoke tooling.

Manage your IoT fleet with Portainer

The Portainer agent deploys to a Docker, Podman, or KubeSolo device in a single command and appears in the fleet view within seconds. If you are running a fleet at scale today and the tooling is not keeping up, or building one and deciding on the platform now, talk to a solutions engineer about what that looks like at your device count.

Talk to a solutions engineer

Frequently asked questions

Direct answers to questions about large-scale IoT and IIoT fleet management with Portainer.

What container runtimes does Portainer support for IoT edge devices?

KubeSolo (preferred for GPU-capable or higher-capability devices), Docker, and Podman. All three are managed from the same Portainer interface with the same deployment and monitoring tooling. Docker Compose stacks deploy to Docker and Podman environments; Helm charts deploy to KubeSolo. A mixed fleet containing all three runtime types is managed from a single Portainer instance.

What is the Portainer Industrial App Portal?

The Industrial App Portal is Portainer's application catalogue and delivery mechanism for IoT edge fleets. ISVs publish versioned containerized applications to the portal. Enterprise operations teams deploy those applications to device groups with a single action, control update rollout (immediate, staged, or manual), and monitor deployment status across the fleet from a single dashboard. It removes the need for operations teams to understand Docker Compose or Helm to deploy and manage applications at scale.

How does Portainer handle IoT devices with intermittent or no connectivity?

The Portainer edge agent buffers state locally and continues running workloads regardless of WAN connectivity. Update instructions queued while a device is offline are delivered on reconnection. No manual intervention is required at the device to sync state after a connectivity gap. This is the baseline behavior, not a contingency mode.

Can Portainer manage IoT fleets with mixed hardware across different sites and customers?

Yes. Edge groups in Portainer define which applications are deployed to which devices. Groups can be defined by geography, hardware type, customer, runtime, or any combination. A single device can belong to multiple groups. A single Portainer instance manages devices across any number of sites and customer boundaries, with RBAC isolating each customer's or site's view.

How does Portainer support ISVs delivering containerized applications to customer fleets?

The Industrial App Portal gives ISVs a standard delivery channel to any customer running Portainer. ISVs publish their application to the catalogue with versioned configuration. The customer's operations team deploys from the catalogue; the ISV controls the release cadence. Neither party needs to build custom device management infrastructure, and the ISV's application reaches the customer's fleet without depending on the customer's IT team to manage the deployment mechanics.

What scale of IoT fleet can Portainer manage from a single instance?

Portainer manages fleets ranging from hundreds to hundreds of thousands of devices from a single instance. The architecture has been deployed in automotive IoT programs managing vehicle populations at scale, drone fleets, and industrial IoT deployments spanning multiple continents. The constraint is not Portainer's management capacity but the connectivity and compute profile of the edge devices themselves.