Skip to content

Dashboard guide

Operational reference for the Stack Harbor PaaS dashboard — creating environments, environment status, per-environment and per-node actions, settings, tasks panel, deployment manager, and account settings.

The dashboard is the main control surface for Stack Harbor PaaS. Every operation available through the Platform CLI or API has a visual equivalent here. Use this page as a reference to find any control in the dashboard and understand what it does.

A short interactive walkthrough is built into the dashboard at Help → Tutorial.

What this covers

  • Creating an environment through the Topology Wizard.
  • Environment list columns and the complete set of status labels.
  • Actions available on each environment row.
  • The twelve Environment Settings entries.
  • Per-layer and per-node action icons.
  • Import dialog, Marketplace, environment groups, and dashboard search.
  • Deployment Manager and Tasks Panel.
  • User Settings and the Help / Account menus.

Dashboard overview

Stack Harbor AC
Environments 3
  • prod-app Running
    productionnodejs
  • staging-app Sleeping
    staging
  • mysql-prod Running
    databaseproduction
Topology prod-app
Load balancer NGINX
lb-1 4 cl
Application nodejs-api
app-1 8 cl
app-2 8 cl
Database mysql-prod
db-1 12 cl
The dashboard landing view. The environment list occupies the centre panel; New Environment and Import sit at the top left; search is at the top right; the Tasks Panel runs across the bottom.

The top bar carries:

  • New Environment and Import — create or restore environments.
  • Marketplace — one-click applications and add-ons.
  • Search — full-text search across environments, containers, and Marketplace (see Dashboard search).
  • User settings, Help, and Account menus at the right edge.

The bottom bar carries the Deployment Manager and Tasks Panel (see those sections below).


Creating an environment

  1. Click New Environment in the top-left of the dashboard.
  2. The Topology Wizard opens. Select the layers you need — load balancer, application server, database, cache, build node. Each layer exposes per-layer settings: runtime version, cloudlet limits, region, SSL, and high-availability options.
  3. Type a name in the Environment Name field at the bottom of the wizard.
  4. Click Create.
New

Create environment

1 cloudlet = 128 MiB RAM + 200 MHz CPU

Load balancer NGINX
R 1 / D 8 cl
Reserved Dynamic max 16 cl
Application Node.js
R 2 / D 16 cl
Reserved Dynamic max 24 cl
Database MySQL
R 2 / D 12 cl
Reserved Dynamic max 20 cl
The Topology Wizard after selecting a Node.js application server. Drag the cloudlet sliders to set reserved and dynamic resource limits. Name the environment at the bottom, then click Create.

Once created, the environment appears in the list and moves through Creating → Launching → Running (see status table below).


Environment list

Each environment occupies one row. The columns are:

ColumnWhat it shows
Name / AliasThe environment name (e.g. prod-app). If an alias is set, it appears as the primary label; the technical name is shown below or on hover.
StatusThe current lifecycle state (see table below).
TagsEnvironment groups and, in multi-region deployments, a region badge. Click a region badge to filter the list to that region.
UsageAggregated resource consumption across all nodes in the environment — typically cloudlets consumed, storage used, and traffic.

Environment status labels

StatusMeaning
RunningAll nodes are up and serving traffic. Full action set available.
SleepingThe environment has been suspended automatically after a period of inactivity (where sleep-on-idle is configured). Containers are paused; storage is intact. The environment wakes when traffic arrives or you click Start.
StoppedManually stopped. Containers are not running; storage is intact. Only a reduced action set is available (see Stopped-environment limitations).
CreatingInitial provisioning: containers are being allocated and the base image is being applied.
LaunchingProvisioning complete; the runtime is starting inside the containers.
StoppingA stop was requested; containers are shutting down gracefully.
CloningA clone operation is in progress. The source environment remains accessible.
RedeployingA container redeploy is running — a new image tag is being applied to one or more nodes.
ExportingThe environment is being packed into a downloadable archive.
InstallingA Marketplace package or JPS manifest is being applied to the environment.
MigratingThe environment is being moved to another region. The environment is unavailable during migration.
DeletingDeletion is in progress; this is irreversible once started.

Stopped-environment limitations

When an environment is in the Stopped state, the available action set is reduced. Only Settings, Clone, Start, and Delete are shown on the row. You cannot open the environment in the browser, change topology, or use per-node actions until the environment is running again.


Environment row actions

Hover over a running environment row to reveal the action strip.

prod-app Running
production nodejs
staging-app Sleeping
staging
mysql-prod Running
database production
Hovering over an environment row reveals the full action strip. Actions that are unavailable in the current state (e.g. Open in Browser when there is no public-facing layer) are hidden or greyed out.
ActionWhat it does
Set AliasAssign a friendly display name to the environment. The alias appears as the primary label in the list; the technical domain name is unchanged.
Open in BrowserOpens the environment’s entry URL in a new browser tab. Only shown when the topology includes an application server or load balancer with a public endpoint.
SettingsOpens the Environment Settings panel (twelve entries — see Environment Settings).
Change Environment TopologyRe-opens the Topology Wizard to add, remove, or resize layers without destroying the environment.
Clone EnvironmentDuplicates the environment under a new name. The dashboard transitions the clone through Cloning → Running.
Start / StopToggles the runtime state. Running environments show Stop; stopped or sleeping environments show Start.
Delete EnvironmentPermanently deletes the environment and all its data. Requires password confirmation. This is irreversible.
Add/Edit Env GroupsAssign the environment to one or more environment groups for filtering and network isolation (see Environment groups).

Environment Settings

Click Settings on any environment row to open the settings panel. Twelve entries are available.

Settings prod-app
The Environment Settings panel for prod-app. Each entry opens its own sub-panel. The twelve entries cover every environment-level configuration option.
SettingWhat it does
Custom DomainsBind a CNAME or A record to the environment and configure domain swap (switch traffic between domains without DNS propagation delay).
Custom SSLUpload your own certificate and private key. Requires an application server or load balancer with a public IP. The platform handles installation and renewal reminders.
SSH AccessManage SSH public keys for client access, view SSH Gate connection details and Web SSH configuration, and configure SFTP and FISH access.
EndpointsMap TCP or UDP ports on a container to externally reachable ports through the Shared Load Balancer. Use this to expose non-HTTP services without attaching a public IP.
FirewallConfigure inbound and outbound rules at the container level. Rules are applied per-node in the environment. See Container firewall rules for the full rule syntax.
Load AlertsDefine thresholds for CPU, RAM, network traffic, disk I/O, or IOPS. When a threshold is crossed, the platform sends an email to the configured recipients. The History tab lists alerts that have fired.
Auto Horizontal ScalingConfigure triggers that add or remove nodes in a layer based on resource usage. Conditions can target CPU, RAM, network, or disk metrics, with configurable scale-up and scale-down cooldown periods.
CollaborationGrant other Stack Harbor accounts access to this environment. You can optionally allow the collaborator to change the environment topology or use SSH.
Change OwnerTransfer the environment to another account on the same platform. Useful for handing off a project or moving between team accounts.
MigrationMove the environment to a different region. The environment is unavailable for the duration of the migration.
ExportPack the environment topology and data into a single downloadable file for backup or transfer. Note: Windows, Storage, Elastic VPS, Maven, and custom Docker containers export topology only — their data must be transferred separately.
InfoRead-only summary: environment domain, owner account, creator account, region, and creation date.

Per-layer and per-node actions

Click an environment row to expand it and reveal its layer topology. Each layer (load balancer, application server, database, cache) shows its nodes as sub-rows. Hover over a layer header or an individual node to reveal the action icon strip for that target.

node 1 nodejs-api 16 cloudlets
The per-node action strip for the mysql-prod database node. The icons differ by layer type — a database node exposes Admin Panel Login and Reset Password; an application server exposes SFTP and CMD/Entry Point; a load balancer adds traffic distribution controls.

The following icons may appear on a layer or node row, depending on the layer type:

Icon / ActionWhat it does
Set AliasAssign a display name to this specific node, separate from the environment alias.
Open in BrowserOpen this node’s URL in a new tab (only available when the node has a public endpoint).
Restart Node(s)Gracefully restart the container process on this node or all nodes in the layer.
ConfigOpen the built-in file manager and configuration editor for this container’s filesystem. Edit config files, .env files, and app configs directly.
LogOpen the log viewer for this container. Streams stdout and available application log files.
StatisticsOpen the resource usage graphs for this node: CPU, RAM, network in/out, disk I/O, and IOPS over configurable time windows.
Web SSHOpen a browser-based SSH session to this container via the SSH Gate. No local SSH client required.
Redeploy Container(s)Apply a new container image tag to this node or all nodes in the layer. The platform handles the rollout; data in mounted volumes is preserved.
Add-OnsView and manage add-ons installed on this node (for example, Let’s Encrypt, FTP/FTPS, backup agents).
Remote DesktopOpen a browser-based RDP session (available on Windows-based containers only).
VariablesView and edit environment variables scoped to this container. Changes take effect on the next container restart.
LinksConfigure cross-layer links so this container can reach another layer’s nodes by hostname alias.
VolumesView and configure persistent volume mounts for this container. See Container volumes.
CMD / Entry PointOverride the container’s default command and entry point. Useful for customizing how a Docker-based container starts.
SFTPDisplay SFTP connection details for this node (host, port, username, SSH key).
Scaling NodesChange the horizontal node count for this layer directly from the node strip, without reopening the Topology Wizard.
Reset PasswordReset the service password for this node (available on database nodes). The new password is shown once and sent by email.
Admin Panel LoginOpen the database admin panel (for example, phpMyAdmin for MySQL, Adminer for PostgreSQL) directly in the browser, authenticated automatically.

Import

The Import button next to New Environment creates or restores an environment from a manifest file.

Accepted file formats: .json, .jps, .cs, .yml, .yaml.

The Import dialog has three tabs:

TabHow to use it
Local FileUpload a manifest file from your machine.
URLPaste a URL pointing to a manifest hosted on a web server or Git repository.
JPSPaste or type JSON or YAML directly into the built-in editor. Useful for testing or modifying a manifest before running it.

Use Import to:

  • Create a new environment from an exported environment archive.
  • Apply a JPS package to an existing environment.
  • Restore a topology from another Stack Harbor installation.

Marketplace

Click Marketplace to open the application and add-on catalog. Search by name or browse by category. Click Install on a package, fill in any prompts, and the platform provisions the package into a new or existing environment.

See the Application marketplace reference for the full catalog and install options.


Environment groups

Group environments to keep large accounts organized. Typical grouping schemes: by project (crm, data-pipeline), by stage (dev, staging, prod), or by function (databases, services, storage). Subgroups are supported.

To assign an environment to a group, hover over its row and click Add/Edit Env Groups.

By default, environments in the same account can reach each other over the platform’s internal network. Enable network isolation on a group to restrict inter-environment traffic: only environments in the same isolated group can communicate. Use this to enforce a hard boundary between production and non-production environments.


The search box is at the top-right of the dashboard. Keyboard shortcut: Ctrl+F (Windows/Linux) or Cmd+F (macOS).

Search covers environments by name or alias, containers by hostname, deployed project names, and Marketplace packages.

OperatorEffect
termMatch environments or nodes containing term.
-termExclude results containing term.
*Wildcard — matches any sequence of characters. For example, prod-* matches prod-app, prod-db.

The search form also offers category filters:

  • Environments only.
  • IPs only (find which environment owns a given IP address).
  • Exclude Marketplace results.
  • Scope the search to the current group rather than the whole account.

A help panel inside the search form documents the full operator set.


Deployment Manager

The Deployment Manager tab runs along the bottom of the dashboard and stores reusable application artifacts.

TabWhat it stores
ArchiveApplication packages uploaded from your machine or fetched from an external URL (ZIP, WAR, JAR, EAR, and similar).
Git / SVNRepository credentials for source-controlled projects. Store a repo URL and authentication so it can be reused across deployments.

Once an artifact is registered in the Deployment Manager, you can deploy or redeploy it to any running environment in one click, without re-uploading or re-entering credentials.


Tasks Panel

The Tasks Panel tab runs alongside the Deployment Manager at the bottom of the dashboard. It shows live and historical operations.

Tasks 1 running
  • Create environment prod-app 4m ago 48s Done
  • Deploy prod-app nodejs-api 3m ago 12s Done
  • Add node prod-app 2m ago 2m 14s… Running
  • Redeploy container mysql-prod 18m ago 31s Done
  • Migration staging-app 1h ago 4m 2s Failed
The Tasks Panel shows all recent platform operations. A spinner indicates an in-progress task; a green dot indicates success; a red dot indicates failure. Expand any row to see the full action parameters and server response.

Each row in the Tasks Panel shows:

ColumnWhat it shows
StatusSpinner (in progress), green dot (success), red dot (failure).
TimeStart time of the operation. Rows are ordered newest-first and grouped by day.
EnvironmentThe target environment, or — if the operation is account-level.
TaskA description of the operation (for example, “Start environment”, “Clone environment”, “Redeploy container”).
DurationElapsed execution time, shown after the task completes.

Expand any row to see the full action parameters sent to the platform and the server response. If the operation was triggered by a collaborator, their email address appears in the expanded view.

Reporting errors

A failed task row (red dot) shows a Report to support link. Clicking it opens a pre-filled support request addressed to Stack Harbor support, with the task ID and error detail attached.

Active Log

For deeper history, switch to the Active Log view (the magnifying-glass icon next to the Tasks Panel label).

Active log prod-app
5 entries


  2026-05-30 14:23:11 UTC
  ERROR
  deploy-hook
  deploy hook exited non-zero (exit 1): post-receive script failed at step finalize


  2026-05-30 14:21:44 UTC
  ERROR
  healthcheck
  health check failed: 502 from nodejs-api node 2 — upstream not ready


  2026-05-30 14:21:39 UTC
  ERROR
  healthcheck
  health check failed: 502 from nodejs-api node 2 — retrying (attempt 3/3)


  2026-05-30 14:18:02 UTC
  ERROR
  certbot
  TLS cert renew failed: DNS-01 challenge timeout after 60s for api.prod-app.example.com


  2026-05-30 13:59:07 UTC
  ERROR
  migration
  migration step 4/7 failed: ALTER TABLE users: lock wait timeout exceeded (innodb_lock_wait_timeout=50)

The Active Log with Errors only enabled. Use the date range picker to inspect a specific window, and the search field to find operations by environment name, task type, or error text.

Active Log capabilities:

  • Full-text search across task parameters and server responses.
  • Custom date ranges — select any window in the platform’s retention period.
  • Errors only filter — show only failed operations across all environments.

User Settings

Click the Settings icon (or your avatar) at the top-right to open account-level settings.

SectionWhat it covers
AccountTwo-factor authentication toggle and password change.
Access TokensGenerate and manage personal access tokens for the Platform API and CLI.
SSH Keys / SSH AccessManage public keys used to authenticate SSH sessions to your containers (via SSH Gate or direct SSH). Manage private keys used for Git-over-SSH when deploying from private repositories. View connection instructions and SFTP/Direct SSH details.
CollaborationTwo lists: environments you have shared with other accounts, and environments shared with you by others.

Help and Account menus

The Help dropdown at the top-right links to:

  • Stack Harbor support.
  • Stack Harbor Documentation (this site).
  • Platform API reference.
  • Platform CLI reference.
  • The interactive dashboard Tutorial.

The Account dropdown at the top-right contains:

  • User settings shortcut.
  • Dashboard language selector.
  • Sign out.

See also