Adios
Apps and APIs · plans from $10/month

Deploy ASP.NET Core.Publish and run the selected assembly.

Build an ASP.NET Core release artifact, bind Kestrel to the production port, verify health, and connect configuration, logs, domains, and TLS.

Keep the repositoryInspect build and logsCustom domains and TLS
Adios deploy

Candidate release

ASP.NET Core

Healthy

SOURCE

Git

REGION

de

ROUTE

HTTPS

01Source received

02Build completed

03Runtime started

04Health check passed

Promoted route

production.adios.run

A production path for

ASP.NET Core.NET 8C#KestrelMinimal APIs

The production path

A working ASP.NET Core project still needs a safe release.

The application or service is only one part of production. Build evidence, runtime state, health, secrets, logs, routes, and the promoted version should remain inspectable together.

Keep the ASP.NET Core build you already use

Use dotnet publish for the selected project and keep its output directory explicit. The artifact started in production is the one created by the reviewed build.

Promote the version that reports healthy

Configure Kestrel through ASPNETCORE_URLS or application settings, expose a health endpoint, and inspect startup or dependency failures before promotion.

Trace production back to source

Build output, runtime logs, health state, secrets, domains, and the promoted release stay attached to the project instead of being split across unrelated tools.

From source to release

Three steps keep the deployment path reviewable.

Use the source and production behavior the project already has. The manifest records what the platform should build or provision and how the result becomes ready.

  1. 01

    Start with source or a template

    Bring the existing repository, or inspect and deploy one of the exact starter variants linked below.

    $adios login
  2. 02

    Review the deployment contract

    Keep commands, runtime or service version, health behavior, and secret references in adios.yaml.

    $git diff -- adios.yaml
  3. 03

    Deploy and inspect the result

    Follow build and runtime evidence, verify the candidate, and open the promoted route or service connection.

    $adios up
adios.yaml
Your project
name: aspnet-api
build_cmd: dotnet publish -c Release -o out
start_cmd: dotnet out/MyApi.dll

runtime:
  name: dotnet@8
  port: 8080
  health_path: /healthz
Replace MyApi.dll with the emitted assembly and keep the port consistent with ASP.NET Core configuration.

Deployable starting points

Start ASP.NET Core from a template when the repository is not ready.

Compare ASP.NET Core, Minimal API, and FastEndpoints starters before choosing the source shape for the first release.

API starters

ASP.NET Core

ASP.NET Core, Blazor, ABP, FastEndpoints, Orchard Core, and .NET 8 starters.

C#.NET CLI
Template key
dotnet-aspnet-core
Runtime
dotnet
Repository
templates
Source path
dotnet/aspnet-core
git clone https://github.com/adiosdotdev/templates.git
cd templates/dotnet/aspnet-core
adios up

API starters

.NET 8 Minimal API

ASP.NET Core, Blazor, ABP, FastEndpoints, Orchard Core, and .NET 8 starters.

C#.NET CLI
Template key
dotnet
Runtime
dotnet
Repository
templates
Source path
dotnet/8.0
git clone https://github.com/adiosdotdev/templates.git
cd templates/dotnet/8.0
adios up

API starters

.NET FastEndpoints

ASP.NET Core, Blazor, ABP, FastEndpoints, Orchard Core, and .NET 8 starters.

C#.NET CLI
Template key
dotnet-fastendpoints
Runtime
dotnet
Repository
templates
Source path
dotnet/fastendpoints
git clone https://github.com/adiosdotdev/templates.git
cd templates/dotnet/fastendpoints
adios up

Before production

Verify the workload.Then promote it.

The safest first release starts with a reproducible build or service configuration and a preview that exercises the dependencies production will actually use.

Ready when…

  • dotnet publish emits the expected assembly.
  • Kestrel listens on the configured address and port.
  • The health route reflects required dependencies.
  • Connection strings and signing values use secrets.

Preview when…

  • The app uses native runtime packages.
  • Entity Framework migrations alter production data.
  • SignalR or streaming connections need release testing.

Questions, answered

What to know before deploying ASP.NET Core.

Review the runtime or service boundary, template path, failure behavior, and production checks before creating the first release.

Can Adios deploy an existing ASP.NET Core project?

Yes. Run the Adios CLI from the project root, keep the repository and dependency files you already use, and add an adios.yaml file that describes the production build, start command, port, and health path.

Do I need Docker to deploy ASP.NET Core?

Not for a standard supported runtime. Use the project's normal production commands in adios.yaml. If the build needs unusual operating-system packages or native libraries, verify those dependencies in a preview before promotion.

Can I deploy Minimal APIs and controller-based APIs?

Yes. Both compile to a standard .NET application. Keep the publish project, output assembly, runtime version, binding, and health route explicit.

Can ASP.NET Core use PostgreSQL or Redis?

Yes. Deploy the required services, reference their credentials through secrets, and test connection recovery plus health behavior during dependency restarts.

What happens when the build or health check fails?

The candidate release keeps its build and runtime output for inspection. It must report healthy before it becomes the promoted version serving the application route.

Can I start from a template instead of an existing repo?

Yes. This page links to the closest official Adios ASP.NET Core starters. Inspect the exact source variant, deploy it in the console, or clone it locally and run adios up.

The first release

Deploy ASP.NET Core with the source and evidence attached.

Start from the repository or a template, review the deployment contract, and inspect what becomes the promoted production version.