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
PORTenvironment 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:
- Create an App Config Svc instance and populate your key-value pairs
- When creating the .NET Runner instance, set ConfigService to the name of your App Config Svc instance
- 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
- Developer Guide: Deploy a .NET App — deploying private .NET apps via My Apps
- App Config Service — managing environment variables