Skip to content

Nextended.Aspire.Hosting.AspireUI — API reference ​

🇩🇪 Diese Seite auf Deutsch

The complete public surface of Nextended.Aspire.Hosting.AspireUI, generated from the compiled assembly.

Generated

This page is generated by tools/ApiRef from the compiled assembly — it includes members with no XML comment and therefore cannot drift from the code. Do not edit by hand.

↩ Back to the package page

Nextended.Aspire.Hosting.AspireUI ​

AspireUIAssistantExtensions ​

static class

Gives AspireUI's assistant a backend: an OpenAI-compatible endpoint, a model server running in this stack, or an agent CLI installed on the AspireUI host. Same shape as the studio's WithAssistant in Nextended.Aspire.Hosting.WebDataStudio, so the two packages are learned once. Once a backend is configured the assistant is more than a text box: it appears on every page of AspireUI and can operate the instance through the same tools the MCP server exposes, with the permissions of whoever is typing. That needs an HTTP endpoint — an agent CLI takes a prompt and returns text, and there is nowhere in that to put a tool call.

Fields

  • CliTools : string[]
    The agent CLIs AspireUI knows how to drive.
  • DefaultApiPath : string
    The path an OpenAI-compatible server serves the chat API under. AspireUI adds /chat/completions itself, so this is the version segment and not the whole path.
  • DefaultOllamaModel : string
    The model Ollama pulls by default in most examples.

AspireUIBuilderExtensions ​

static class

Fluent API for running AspireUI inside your Aspire stack. Start with AddAspireUI, then optionally WithAdminUser and WithSeedStack to have it come up pre-configured.

AspireUIPermissions ​

static class

The permission ids AspireUI knows, plus the presets the users page offers. Pass one of these (or a comma-separated list of ids) wherever a permissions argument is asked for. An admin has all of them regardless.

Fields

  • All : string
    Everything.
  • AppUser : string
    Install, configure and browse files. No builder.
  • Builder : string
    Create, change and delete stacks; import code; run them locally.
  • Configure : string
    Change a hosted app's environment, ports and domain.
  • Default : string
    What a new account gets when nothing is said: builder, install, configure.
  • Deploy : string
    Install, start, stop, update, undeploy, move and back up hosted apps.
  • Docker : string
    See and prune the docker host's images, containers and volumes.
  • Files : string
    Browse, view and download files in an app's volumes.
  • FilesWrite : string
    Delete files in an app's volumes.
  • None : string
    Look only.
  • Operator : string
    Builder, install, configure, files (incl. delete) and terminal — no global settings.
  • Settings : string
    Global settings: proxy, notifications, backups, dashboard, import.
  • Store : string
    Manage store sources and which apps are hidden.
  • Targets : string
    Add, change and remove deploy targets.
  • Terminal : string
    Run commands inside an app's containers.
  • Users : string
    Create users and grant permissions (never the admin flag).
  • Viewer : string
    Look at the apps and their files. Change nothing.

AspireUIResource ​

class

AspireUI — the visual .NET Aspire AppHost builder — running as a container resource. Exposes an HTTP endpoint for the web UI, and can be pre-seeded (admin user + a starter stack) so it comes up ready without the manual first-run wizard.

Constructors

  • AspireUIResource(string name)
    AspireUI — the visual .NET Aspire AppHost builder — running as a container resource. Exposes an HTTP endpoint for the web UI, and can be pre-seeded (admin user + a starter stack) so it comes up ready without the manual first-run wizard.

Properties

  • AdminUsername : string { get; }
    Admin username seeded on first run, if configured via WithAdminUser.
  • AssistantModel : string { get; }
    The model the assistant was pointed at, if one of the WithAssistant methods did.
  • Seed : AspireUISeed { get; }
    Accounts, deploy targets, api tokens, store sources, apps and stacks this instance should come up with. Filled in by the With… methods; handed over as one environment variable when the application starts.
  • SeedProjects : IList<string> { get; }
    Project paths seeded into the starter stack (one AddProject node each).
  • SeedStackName : string { get; }
    Name of the starter stack seeded on first run, if configured via WithSeedStack.

Fields

  • DefaultImage : string
    Container image (without registry-less shorthand): the published AspireUI image.
  • DefaultTag : string
    Default image tag.
  • DefaultTargetPort : int
    Internal port the AspireUI server listens on inside the container.
  • HttpEndpointName : string
    Name of the primary HTTP endpoint (the web UI).

AspireUISeed ​

class

Everything the AspireUI container should find in its database on first start. Filled in by the With… methods and handed over as one JSON environment variable when the app starts.

Constructors

  • AspireUISeed()

Properties

  • AppIds : IEnumerable<string> { get; }
    Catalog ids of the store apps this seed installs.
  • Deploy : bool { get; }
    True when the seeded stacks and apps should also be deployed once hosting is up.
  • TargetNames : IEnumerable<string> { get; }
    Names of the deploy targets this seed creates.
  • Usernames : IEnumerable<string> { get; }
    Names of the accounts this seed creates, in the order they were added.

AspireUISeedExtensions ​

static class

Everything an AspireUI instance can be handed on first start: accounts with permissions, deploy targets, api tokens for automation, store sources, apps from the catalog and stacks from a folder or a repository — plus the settings that used to need a trip through the UI. All of it is idempotent by name on the AspireUI side: restarting with the same AppHost changes nothing, adding one entry adds exactly that one, and anything changed in the UI stays changed.

AspireUISettings ​

class

Everything under AspireUI's own settings, as properties instead of key strings. Anything left null is not sent, and a value that is sent only fills in what the instance has not got yet — unless ForceOnEveryStart says otherwise, which also overwrites what somebody changed in the UI. This is the wide, typed way; WithSetting(key, value) stays for anything not listed here, and single-subject methods (WithSingleSignOn, WithS3Backups, …) stay for the settings that come as a set.

Constructors

  • AspireUISettings()

Properties

  • AiApiKey : string { get; set; }
  • AiBaseUrl : string { get; set; }
  • AiCliTool : string { get; set; }
    The installed CLI to use when AiKind is cli: claude, gemini, ollama, llm, codex.
  • AiKind : string { get; set; }
    http for an OpenAI-compatible endpoint, cli for a local agent CLI.
  • AiModel : string { get; set; }
  • AiProviderLabel : string { get; set; }
    What the UI calls the provider, e.g. "Ollama".
  • AuditRetainDays : int? { get; set; }
    How long an entry is kept. Zero keeps everything.
  • BackupIntervalHours : int? { get; set; }
    Back up every running app's volumes this often. Zero turns the schedule off.
  • BackupRetain : int? { get; set; }
    How many snapshots to keep per app.
  • DashboardToken : string { get; set; }
    A fixed browser token, so AspireUI can hand out a one-click login link to it.
  • ForceOnEveryStart : bool { get; set; }
    Apply these on every start instead of only filling in what is empty. Off by default, because it also overwrites what somebody changed in the UI.
  • HostDashboards : bool? { get; set; }
    Host an Aspire dashboard next to every deployed app.
  • MaxImportFileMb : int? { get; set; }
    Files larger than this are skipped when a folder or archive is imported.
  • NotifyTelegramChat : string { get; set; }
  • NotifyTelegramToken : string { get; set; }
  • NotifyWebhookUrl : string { get; set; }
    Slack, Discord, Teams, ntfy — anything that takes a json post.
  • ProxyBaseUrl : string { get; set; }
  • ProxyEmail : string { get; set; }
  • ProxyEnabled : bool? { get; set; }
  • ProxyForwardHost : string { get; set; }
    Where the proxy forwards to. Blank uses PublicHost.
  • ProxyPassword : string { get; set; }
  • PublicHost : string { get; set; }
    The host name every app url is built from. Blank uses the host the browser asked for.
  • RespectGitignore : bool? { get; set; }
    Skip what an imported folder's own .gitignore ignores.

AspireUIUser ​

class

An account to create on first start. See AspireUIPermissions for the third argument.

Constructors

  • AspireUIUser(string Username, string Password, string Permissions = null, bool Admin = false, string[] ViewModes = null, bool MustChangePassword = false)
    An account to create on first start. See AspireUIPermissions for the third argument.

Properties

  • Admin : bool { get; set; }
    True makes an admin, and the permission list stops mattering.
  • MustChangePassword : bool { get; set; }
    True asks for a new password at the first login.
  • Password : string { get; set; }
    Password (stored hashed; at least 8 characters).
  • Permissions : string { get; set; }
    A preset name or a comma-separated list of permission ids. Null = the default set.
  • Username : string { get; set; }
    Login name.
  • ViewModes : string[] { get; set; }
    Which UIs this account may use: full, simple, or both.

Projects ​

Nextended_Aspire_Hosting_AspireUI ​

class

Metadata for the Aspire AppHost project.

Properties

  • ProjectPath : string { get; }
    The path to the Aspire Host project.

↩ Back to the package page