Skip to content

Create your first environment

A step-by-step walkthrough of the Topology Wizard — from clicking New Environment to a running, browser-accessible application environment on Stack Harbor PaaS.

An environment is the core unit of Stack Harbor PaaS: a named, regional group of containers that run your application. This page walks through creating one from scratch using the Topology Wizard, so you understand every choice before you click Create.

What this covers

  • The prerequisites for creating your first environment.
  • Opening the Topology Wizard from the dashboard.
  • Choosing a runtime stack and configuring layer settings.
  • Setting cloudlet limits for reserved and dynamic resource allocation.
  • Selecting a region and naming the environment.
  • What happens after you click Create — the status progression to Running.
  • How to confirm the environment is up and reachable.

Before you start

You need:

  • A Stack Harbor account. If you don’t have one, contact Stack Harbor to get provisioned.
  • To be signed in to the dashboard. All steps in this guide happen through the dashboard UI. If you prefer to script environment creation, see the Platform CLI or Platform API overview.
  • A rough idea of your stack. You don’t need to have every detail settled — you can change the topology after creation without destroying the environment. A runtime (for example, Node.js) and a sense of whether you need a database are enough to start.

Step 1 — Open the Topology Wizard

In the top-left of the dashboard, click New Environment.

The Topology Wizard opens. This is where you assemble the layers that make up your environment — you add each tier of your application (load balancer, application server, database, cache) as a separate layer, and the platform provisions and wires them together.


Step 2 — Choose a stack and runtime

The Topology Wizard presents the available layer categories. For a typical web application, you will add at minimum an application server layer. You can also add a load balancer, a database, a cache, or a build node.

For this walkthrough, the demo environment is named prod-app and uses a Node.js application server:

  1. In the wizard, locate the application server category.
  2. Select Node.js from the available runtimes.
  3. The wizard adds a Node.js layer to your topology with default settings. You will adjust those settings in the next step.

The same flow applies to other runtimes — PHP, Java, Python, Ruby, Go, or .NET. For a managed database (MySQL, PostgreSQL, MongoDB, Redis, or Memcached), add a database layer from the database category in the same wizard session.


Step 3 — Set the topology (layers and cloudlet sizing)

With the Node.js layer selected, the right panel shows its configuration options. Two settings are particularly important on your first environment:

Cloudlet limits — reserved and dynamic

Resources on Stack Harbor PaaS are allocated in cloudlets, the platform’s unit of RAM and CPU. Each layer lets you set two cloudlet values:

  • Reserved cloudlets — the floor: the number of cloudlets always allocated to each node in this layer, regardless of load.
  • Dynamic cloudlets (sometimes called the scaling limit) — the ceiling: the maximum number of cloudlets a node can draw when it needs more than the reserved amount. The node scales up to this limit automatically and releases cloudlets when load drops. You are billed for actual consumption, not the ceiling.

Drag the sliders to set both values. For a first environment running a lightweight Node.js API (nodejs-api), starting with a small reserved allocation and a moderate dynamic ceiling is reasonable — you can adjust these at any time without recreating the environment.

Node count

Each layer can have one or more nodes. For a first environment, a single node per layer is sufficient. You can scale horizontally later from the dashboard or by changing the topology.

Other layer settings

The layer panel also exposes the runtime version selector (choose a specific Node.js version if you need one) and SSL and high-availability options. Leave these at their defaults for now — both can be changed after the environment is running.

If you need a second layer (for example, a PostgreSQL database), add it now by selecting the database category in the wizard and choosing PostgreSQL. Repeat the cloudlet sizing step for that layer.


Step 4 — Choose a region

The Topology Wizard includes a Region selector. Pick the region closest to your users or, if you are evaluating, the region your account defaults to.

The region is set at creation time. To move an environment to a different region later, use Settings → Migration — the environment will be unavailable during migration.


Step 5 — Name the environment

At the bottom of the Topology Wizard there is an Environment Name field.

Type a name. For this walkthrough, use prod-app. Environment names:

  • Must be unique within your account.
  • Are used to construct the environment’s default domain name (for example, prod-app.stackharbor.cloud or similar — the exact pattern depends on your platform configuration).
  • Can have a display alias set later via Set Alias on the environment row, but the technical name is fixed at creation.

Step 6 — Create the environment

Review the topology summary at the top of the wizard: the layers you have added, the cloudlet limits, the region, and the name.

When you are satisfied, 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 ready to create the nodejs-api environment. The cloudlet sliders control the reserved floor and the dynamic ceiling for the Node.js layer. Click Create when the topology and name are set.

What happens next

After you click Create, the dashboard transitions the new environment through a short sequence of status labels. You can watch this in the environment list row.

StatusWhat is happening
CreatingThe platform is allocating containers and applying the base runtime image to each node in your topology.
LaunchingProvisioning is complete; the Node.js runtime (or whichever runtime you chose) is starting inside the containers.
RunningAll nodes are up. The environment is fully operational and the complete set of dashboard actions is available.

The transition from Creating to Running typically takes under a minute for a single-layer environment. You can watch progress in the Tasks Panel at the bottom of the dashboard, which shows a live log of the provisioning steps.


Verify it’s running

Once the environment shows Running:

  1. Hover over the prod-app row in the environment list.
  2. Click Open in Browser.

Your browser opens the environment’s default URL. For a freshly created Node.js environment with no application deployed yet, the platform serves a default landing page confirming the container is reachable.

If Open in Browser does not appear on the action strip, the environment’s topology does not have a layer with a public endpoint. Add a load balancer layer or confirm the application server has an external entry point — see Environment management for how to change the topology of a running environment.

You can also expand the environment row by clicking on it. This shows each layer and node, and from there you can click Log or Web SSH on the application server node to confirm the runtime started cleanly.


Where to go next

The environment is running but has no application code in it yet.

  • Deploy your first application — deploy code to the environment you just created, end to end.
  • Dashboard guide — a full reference for every dashboard control: environment actions, node actions, the Tasks Panel, and the Deployment Manager.
  • Environment management — clone, export, transfer, rename, and change the topology of a running environment.
  • Scaling and clustering — resize cloudlet limits, add nodes, and configure auto-scaling triggers on an existing environment.