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.
dotnetCLI — used to start the application and to run framework-provided commands.
Provisioning a .NET environment
- Click New Environment in the dashboard.
- Open the .NET tab.
- Pick the .NET application server. Set cloudlets, disk limit, public IPs, region, and any other parameters.
- 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:
| Variable | Purpose |
|---|---|
APP_NAME | Subfolder to deploy from (for monorepos), or the specific .dll to run. |
ASPNETCORE_URLS | URLs / ports the ASP.NET Core host binds to. |
RUN_OPTION | Additional 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