2016-06-08 06:23:11 +00:00
< rd-header >
2018-07-11 08:39:20 +00:00
< rd-header-title title-text = "Dashboard" > < / rd-header-title >
< rd-header-content > Endpoint summary< / rd-header-content >
2016-06-08 06:23:11 +00:00
< / rd-header >
2018-07-23 09:31:21 +00:00
< div class = "row" ng-if = "applicationState.endpoint.mode.agentProxy && applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE'" >
2018-05-06 07:15:57 +00:00
< div class = "col-sm-12" >
< dashboard-cluster-agent-info > < / dashboard-cluster-agent-info >
< / div >
< / div >
2018-10-28 09:27:06 +00:00
< information-panel-offline ng-if = "offlineMode" > < / information-panel-offline >
2018-08-21 18:40:42 +00:00
< information-panel
2020-04-10 21:54:53 +00:00
ng-if="
!applicationState.UI.dismissedInfoPanels['docker-dashboard-info-01'] & &
!applicationState.endpoint.mode.agentProxy & &
applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE'
"
2018-08-21 18:40:42 +00:00
title-text="Information"
2020-04-10 21:54:53 +00:00
dismiss-action="dismissInformationPanel('docker-dashboard-info-01')"
>
2018-08-21 18:40:42 +00:00
< span class = "small" >
< p class = "text-muted" ng-if = "applicationState.endpoint.mode.role === 'MANAGER'" >
< i class = "fa fa-exclamation-circle orange-icon" aria-hidden = "true" style = "margin-right: 2px;" > < / i >
2020-04-10 21:54:53 +00:00
Portainer is connected to a node that is part of a Swarm cluster. Some resources located on other nodes in the cluster might not be available for management, have a look at
< a href = "http://portainer.readthedocs.io/en/stable/agent.html" target = "_blank" > our agent setup< / a > for more details.
2018-08-21 18:40:42 +00:00
< / p >
< p class = "text-muted" ng-if = "applicationState.endpoint.mode.role === 'WORKER'" >
< i class = "fa fa-exclamation-circle orange-icon" aria-hidden = "true" style = "margin-right: 2px;" > < / i >
Portainer is connected to a worker node. Swarm management features will not be available.
< / p >
< / span >
< / information-panel >
2018-06-04 08:30:53 +00:00
2018-07-25 18:47:33 +00:00
< div class = "row" ng-if = "(!applicationState.endpoint.mode.agentProxy || applicationState.endpoint.mode.provider !== 'DOCKER_SWARM_MODE') && info && endpoint" >
2018-04-04 00:31:04 +00:00
< div class = "col-sm-12" >
2016-06-02 05:34:03 +00:00
< rd-widget >
2018-07-25 18:47:33 +00:00
< rd-widget-header icon = "fa-tachometer-alt" title-text = "Endpoint info" > < / rd-widget-header >
2016-07-13 22:58:39 +00:00
< rd-widget-body classes = "no-padding" >
< table class = "table" >
< tbody >
< tr >
2018-07-25 18:47:33 +00:00
< td > Endpoint< / td >
< td >
{{ endpoint.Name }}
2018-08-13 19:20:56 +00:00
< span class = "small text-muted space-left" >
2020-04-10 21:54:53 +00:00
< i class = "fa fa-microchip" > < / i > {{ endpoint.Snapshots[0].TotalCPU }} < i class = "fa fa-memory space-left" > < / i > {{ endpoint.Snapshots[0].TotalMemory | humansize }}
2018-08-13 19:20:56 +00:00
< / span >
2020-04-10 21:54:53 +00:00
< span class = "small text-muted" >
- {{ info.Swarm & & info.Swarm.NodeID !== '' ? 'Swarm' : 'Standalone' }} {{ info.ServerVersion }}
< span ng-if = "endpoint.Type === 2" > + < i class = "fa fa-bolt" aria-hidden = "true" > < / i > Agent< / span > < /span
>
2018-07-25 18:47:33 +00:00
< / td >
2016-07-13 22:58:39 +00:00
< / tr >
< tr >
2018-07-25 18:47:33 +00:00
< td > URL< / td >
< td > {{ endpoint.URL | stripprotocol }}< / td >
2016-07-13 22:58:39 +00:00
< / tr >
< tr >
2018-07-25 18:47:33 +00:00
< td > Tags< / td >
< td >
< span ng-if = "endpoint.Tags.length === 0" >
-
< / span >
< span ng-if = "endpoint.Tags.length > 0" >
2020-04-10 21:54:53 +00:00
< span ng-repeat = "tag in endpoint.Tags" > {{ tag }}{{ $last ? '' : ', ' }} < / span >
2018-07-25 18:47:33 +00:00
< / span >
< / td >
2016-09-23 04:54:58 +00:00
< / tr >
2018-06-04 08:30:53 +00:00
< tr ng-if = "applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE' && applicationState.endpoint.mode.role === 'MANAGER'" >
2017-12-05 16:34:29 +00:00
< td colspan = "2" >
< div class = "btn-group" role = "group" aria-label = "..." >
2018-02-01 12:27:52 +00:00
< a ui-sref = "docker.swarm.visualizer" > < i class = "fa fa-object-group space-right" aria-hidden = "true" > < / i > Go to cluster visualizer< / a >
2017-12-05 16:34:29 +00:00
< / div >
< / td >
< / tr >
2016-09-23 04:54:58 +00:00
< / tbody >
< / table >
< / rd-widget-body >
< / rd-widget >
< / div >
2016-06-02 05:34:03 +00:00
< / div >
< div class = "row" >
2018-06-11 13:13:19 +00:00
< div class = "col-xs-12 col-md-6" >
< a ui-sref = "portainer.stacks" >
2017-10-15 17:24:40 +00:00
< rd-widget >
< rd-widget-body >
< div class = "widget-icon blue pull-left" >
< i class = "fa fa-th-list" > < / i >
< / div >
< div class = "title" > {{ stackCount }}< / div >
2018-11-24 20:46:13 +00:00
< div class = "comment" > {{ stackCount === 1 ? 'Stack' : 'Stacks' }}< / div >
2017-10-15 17:24:40 +00:00
< / rd-widget-body >
< / rd-widget >
< / a >
< / div >
2017-10-24 17:17:07 +00:00
< div class = "col-xs-12 col-md-6" ng-if = "applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE' && applicationState.endpoint.mode.role === 'MANAGER'" >
2018-02-01 12:27:52 +00:00
< a ui-sref = "docker.services" >
2017-10-15 17:24:40 +00:00
< rd-widget >
< rd-widget-body >
< div class = "widget-icon blue pull-left" >
< i class = "fa fa-list-alt" > < / i >
< / div >
< div class = "title" > {{ serviceCount }}< / div >
2018-11-24 20:46:13 +00:00
< div class = "comment" > {{ serviceCount === 1 ? 'Service' : 'Services' }}< / div >
2017-10-15 17:24:40 +00:00
< / rd-widget-body >
< / rd-widget >
< / a >
< / div >
2018-07-25 18:47:33 +00:00
< div class = "col-xs-12 col-md-6" ng-if = "containers" >
2018-02-01 12:27:52 +00:00
< a ui-sref = "docker.containers" >
2016-07-13 22:58:39 +00:00
< rd-widget >
< rd-widget-body >
< div class = "widget-icon blue pull-left" >
2016-09-23 05:19:57 +00:00
< i class = "fa fa-server" > < / i >
2016-07-13 22:58:39 +00:00
< / div >
2020-04-10 21:54:53 +00:00
< div class = "pull-right" style = "padding-left: 5px;" >
2020-02-04 18:59:29 +00:00
< div > < i class = "fa fa-power-off space-right green-icon" > < / i > {{ containers | runningcontainers }} running< / div >
< div > < i class = "fa fa-power-off space-right red-icon" > < / i > {{ containers | stoppedcontainers }} stopped< / div >
< / div >
< div class = "pull-right" style = "padding-right: 5px;" >
< div > < i class = "fa fa-heartbeat space-right green-icon" > < / i > {{ containers | healthycontainers }} healthy< / div >
< div > < i class = "fa fa-heartbeat space-right orange-icon" > < / i > {{ containers | unhealthycontainers }} unhealthy< / div >
2016-07-13 22:58:39 +00:00
< / div >
2018-07-25 18:47:33 +00:00
< div class = "title" > {{ containers.length }}< / div >
2018-11-24 20:46:13 +00:00
< div class = "comment" > {{ containers.length === 1 ? 'Container' : 'Containers' }}< / div >
2016-07-13 22:58:39 +00:00
< / rd-widget-body >
< / rd-widget >
< / a >
2016-06-02 05:34:03 +00:00
< / div >
2018-07-25 18:47:33 +00:00
< div class = "col-xs-12 col-md-6" ng-if = "images" >
2018-02-01 12:27:52 +00:00
< a ui-sref = "docker.images" >
2016-07-13 22:58:39 +00:00
< rd-widget >
< rd-widget-body >
< div class = "widget-icon blue pull-left" >
< i class = "fa fa-clone" > < / i >
< / div >
< div class = "pull-right" >
2018-07-25 18:47:33 +00:00
< div > < i class = "fa fa-chart-pie space-right" > < / i > {{ images | imagestotalsize | humansize }}< / div >
2016-07-13 22:58:39 +00:00
< / div >
2018-07-25 18:47:33 +00:00
< div class = "title" > {{ images.length }}< / div >
2018-11-24 20:46:13 +00:00
< div class = "comment" > {{ images.length === 1 ? 'Image' : 'Images' }}< / div >
2016-07-13 22:58:39 +00:00
< / rd-widget-body >
< / rd-widget >
< / a >
< / div >
2017-03-27 12:44:39 +00:00
< div class = "col-xs-12 col-md-6" >
2018-02-01 12:27:52 +00:00
< a ui-sref = "docker.volumes" >
2016-07-13 22:58:39 +00:00
< rd-widget >
< rd-widget-body >
< div class = "widget-icon blue pull-left" >
< i class = "fa fa-cubes" > < / i >
< / div >
2018-07-25 18:47:33 +00:00
< div class = "title" > {{ volumeCount }}< / div >
2018-11-24 20:46:13 +00:00
< div class = "comment" > {{ volumeCount === 1 ? 'Volume' : 'Volumes' }}< / div >
2016-07-13 22:58:39 +00:00
< / rd-widget-body >
< / rd-widget >
< / a >
2016-06-02 05:34:03 +00:00
< / div >
2017-03-27 12:44:39 +00:00
< div class = "col-xs-12 col-md-6" >
2018-02-01 12:27:52 +00:00
< a ui-sref = "docker.networks" >
2016-07-13 22:58:39 +00:00
< rd-widget >
< rd-widget-body >
< div class = "widget-icon blue pull-left" >
< i class = "fa fa-sitemap" > < / i >
< / div >
2018-07-25 18:47:33 +00:00
< div class = "title" > {{ networkCount }}< / div >
2018-11-24 20:46:13 +00:00
< div class = "comment" > {{ networkCount === 1 ? 'Network' : 'Networks' }}< / div >
2016-07-13 22:58:39 +00:00
< / rd-widget-body >
< / rd-widget >
< / a >
< / div >
< / div >