Getting Started

The .NET Runner deploys any ASP.NET Core application from a Git repository as a public service instance on Eyevinn Open Source Cloud. Point it at a repository, and OSC builds and hosts the application with a public HTTPS URL — no Dockerfile or infrastructure management required.

If you want to deploy private code as a managed app (with CI/CD, Agentic SDLC, and HA support), use My Apps instead. The .NET Runner is designed for open source .NET projects you want to expose as a shared service instance.

Prerequisites

  • An Eyevinn OSC account
  • An ASP.NET Core application in a public Git repository (or a private one with a personal access token)
  • The application must listen on the port provided by the PORT environment variable

Step 1: Prepare your .NET application

Your application must read the port from the PORT environment variable:

var builder = WebApplication.CreateBuilder(args);
var port = Environment.GetEnvironmentVariable("PORT") ?? "8080";
builder.WebHost.UseUrls($"http://0.0.0.0:{port}");

var app = builder.Build();
app.MapGet("/health", () => "OK");
app.Run();

Commit and push to a Git host accessible over HTTPS (GitHub, GitLab, Gitea, etc.).

Step 2: Create a .NET Runner instance

Navigate to the .NET Runner service page and click Create dotnet-runner. Fill in:

Field Description
Name Unique identifier for this instance (alphanumeric, no spaces)
SourceUrl HTTPS URL to your repository. Append #branch to target a specific branch, e.g. https://github.com/myorg/myapp#main
GitHubToken (optional) Personal access token for private repositories
SubPath (optional) Subdirectory within the repository if your project is not at the root, e.g. src/Api

Click Create and wait for the instance to reach Running status.

Step 3: Access your application

Once running, the instance is accessible at:

https://<name>.eyevinn-dotnet-runner.auto.prod.osaas.io

Click the instance card in the dashboard to see the full URL.

Configuration and environment variables

To inject environment variables (connection strings, API keys, feature flags) at runtime, use an App Config Service instance:

  1. Create an App Config Svc instance and populate your key-value pairs
  2. When creating the .NET Runner instance, set ConfigService to the name of your App Config Svc instance
  3. Set OscAccessToken to your OSC personal access token (required to read from the config service)

CLI usage

osc create eyevinn-dotnet-runner myapp \
  -o SourceUrl="https://github.com/myorg/myapp"

With a specific branch and subdirectory:

osc create eyevinn-dotnet-runner myapi \
  -o SourceUrl="https://github.com/myorg/monorepo#main" \
  -o SubPath="src/Api"

List your running instances:

osc list eyevinn-dotnet-runner

Remove an instance:

osc remove eyevinn-dotnet-runner myapp

Resources