Skip to content

.NET on the PaaS

Run .NET applications on the Stack Harbor PaaS — provisioning, ASP.NET Core, dotnet CLI, git-driven deployment, and the container variables that drive the build and run steps.

The Stack Harbor PaaS runs .NET applications on dedicated .NET application server containers. The stack is built on the cross-platform .NET runtime, includes ASP.NET Core, and uses the dotnet CLI to launch your application.

The container uses a systemd init and exposes the standard PaaS operational surfaces: live vertical resize, horizontal scale-out, public IPs, firewall rules, SSH access, file manager, and CLI / API.

What is in a .NET container

The container ships with:

  • .NET runtime — type system, assembly loading, garbage collector, framework libraries.
  • ASP.NET Core runtime — for web applications, services, and APIs.
  • .NET SDK and language compilers — Roslyn and F#, so the SDK can build projects inside the container.
  • dotnet CLI — used to start the application and to run framework-provided commands.

Provisioning a .NET environment

  1. Click New Environment in the dashboard.
  2. Open the .NET tab.
  3. Pick the .NET application server. Set cloudlets, disk limit, public IPs, region, and any other parameters.
  4. Click Create.

The environment provisions in a few minutes. The container has its own private IP and a unique DNS record.

Deploying an application

Open the Git / SVN tab of the deployment manager and add your repository. Provide the URL and branch. After deployment, the container builds the project and runs it under dotnet.

Three container-level environment variables drive the deployment:

VariablePurpose
APP_NAMESubfolder to deploy from (for monorepos), or the specific .dll to run.
ASPNETCORE_URLSURLs / ports the ASP.NET Core host binds to.
RUN_OPTIONAdditional options passed to dotnet run.

A .NET container runs one application at a time, like Python, Node.js, and Go. To deploy multiple applications, use multiple containers.

See also

  • Deployment guide for git-driven deploy
  • Custom Docker container option for nonstandard .NET workloads
  • Windows VM for workloads that need a full Windows runtime