ListmonkBuilderExtensions Methods
ClassMethods16 members
Provides extension methods for adding listmonk resources to the application model.
AddListmonk(IDistributedApplicationBuilder, string, int?) Section titled AddListmonk(IDistributedApplicationBuilder, string, int?)extensionIResourceBuilder<ListmonkResource> Adds a listmonk container resource to the application model. The default image is and the tag is .
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> AddListmonk( this IDistributedApplicationBuilder builder, string name, int? port = null) { // ... }}Parameters
builderIDistributedApplicationBuilder The Hosting.IDistributedApplicationBuilder .namestringThe name of the resource. This name will be used as the connection string name when referenced in a dependency.portint?optionalThe host port for the listmonk HTTP endpoint. If null, Aspire will assign a random host port.Returns
IResourceBuilder<ListmonkResource> A reference to the ApplicationModel.IResourceBuilder`1 .Remarks
Add a listmonk container to the application model and reference it in a .NET project.
var builder = DistributedApplication.CreateBuilder(args);
var db = builder.AddPostgres("postgres") .AddDatabase("db");var listmonk = builder.AddListmonk("listmonk") .WithReference(db);var api = builder.AddProject<Projects.Api>("api") .WithReference(listmonk);
builder.Build().Run();WithAdminCredentials(IResourceBuilder<ListmonkResource>, string, IResourceBuilder<ParameterResource>) Section titled WithAdminCredentials(IResourceBuilder<ListmonkResource>, string, IResourceBuilder<ParameterResource>)extensionIResourceBuilder<ListmonkResource> Configures the first-run listmonk Super Admin credentials.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithAdminCredentials( this IResourceBuilder<ListmonkResource> builder, string username, IResourceBuilder<ParameterResource> password) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.usernamestringThe value for LISTMONK_ADMIN_USER .passwordIResourceBuilder<ParameterResource> The parameter resource used for LISTMONK_ADMIN_PASSWORD .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithAdminPassword(IResourceBuilder<ListmonkResource>, IResourceBuilder<ParameterResource>) Section titled WithAdminPassword(IResourceBuilder<ListmonkResource>, IResourceBuilder<ParameterResource>)extensionIResourceBuilder<ListmonkResource> Configures the first-run listmonk Super Admin password.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithAdminPassword( this IResourceBuilder<ListmonkResource> builder, IResourceBuilder<ParameterResource> password) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.passwordIResourceBuilder<ParameterResource> The parameter resource used for LISTMONK_ADMIN_PASSWORD .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithAdminUser(IResourceBuilder<ListmonkResource>, string) Section titled WithAdminUser(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Configures the first-run listmonk Super Admin username.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithAdminUser( this IResourceBuilder<ListmonkResource> builder, string username) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.usernamestringThe value for LISTMONK_ADMIN_USER .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithAppAddress(IResourceBuilder<ListmonkResource>, string) Section titled WithAppAddress(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Configures the listmonk web server address.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithAppAddress( this IResourceBuilder<ListmonkResource> builder, string address) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.addressstringThe address value for LISTMONK_app__address , for example 0.0.0.0:9000.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithDatabaseMaxIdleConnections(IResourceBuilder<ListmonkResource>, int) Section titled WithDatabaseMaxIdleConnections(IResourceBuilder<ListmonkResource>, int)extensionIResourceBuilder<ListmonkResource> Configures the maximum number of idle PostgreSQL connections.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithDatabaseMaxIdleConnections( this IResourceBuilder<ListmonkResource> builder, int maxIdle) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.maxIdle intThe value for LISTMONK_db__max_idle .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithDatabaseMaxLifetime(IResourceBuilder<ListmonkResource>, string) Section titled WithDatabaseMaxLifetime(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Configures the maximum lifetime for PostgreSQL connections.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithDatabaseMaxLifetime( this IResourceBuilder<ListmonkResource> builder, string maxLifetime) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.maxLifetime stringThe duration value for LISTMONK_db__max_lifetime , for example 300s.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithDatabaseMaxOpenConnections(IResourceBuilder<ListmonkResource>, int) Section titled WithDatabaseMaxOpenConnections(IResourceBuilder<ListmonkResource>, int)extensionIResourceBuilder<ListmonkResource> Configures the maximum number of open PostgreSQL connections.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithDatabaseMaxOpenConnections( this IResourceBuilder<ListmonkResource> builder, int maxOpen) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.maxOpen intThe value for LISTMONK_db__max_open .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithDatabaseParameters(IResourceBuilder<ListmonkResource>, string) Section titled WithDatabaseParameters(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Configures additional PostgreSQL DSN parameters.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithDatabaseParameters( this IResourceBuilder<ListmonkResource> builder, string parameters) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.parametersstringThe space-separated parameter string for LISTMONK_db__params .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithDatabaseSslMode(IResourceBuilder<ListmonkResource>, string) Section titled WithDatabaseSslMode(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Configures the PostgreSQL SSL mode used by listmonk.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithDatabaseSslMode( this IResourceBuilder<ListmonkResource> builder, string sslMode) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.sslMode stringThe PostgreSQL SSL mode value for LISTMONK_db__ssl_mode .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithGroupId(IResourceBuilder<ListmonkResource>, int) Section titled WithGroupId(IResourceBuilder<ListmonkResource>, int)extensionIResourceBuilder<ListmonkResource> Configures the group ID used by the listmonk container entrypoint.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithGroupId( this IResourceBuilder<ListmonkResource> builder, int groupId) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.groupId intThe value for PGID.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithReference(IResourceBuilder<ListmonkResource>, IResourceBuilder<PostgresDatabaseResource>) Section titled WithReference(IResourceBuilder<ListmonkResource>, IResourceBuilder<PostgresDatabaseResource>)extensionIResourceBuilder<ListmonkResource> References a
ApplicationModel.PostgresDatabaseResource as the PostgreSQL database for the listmonk resource. public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithReference( this IResourceBuilder<ListmonkResource> builder, IResourceBuilder<PostgresDatabaseResource> database) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.databaseIResourceBuilder<PostgresDatabaseResource> The PostgreSQL database resource builder.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithTimeZone(IResourceBuilder<ListmonkResource>, string) Section titled WithTimeZone(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Configures the time zone used by the listmonk container.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithTimeZone( this IResourceBuilder<ListmonkResource> builder, string timeZone) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.timeZone stringThe time zone value for TZ, for example Etc/UTC .Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithUploadsBindMount(IResourceBuilder<ListmonkResource>, string) Section titled WithUploadsBindMount(IResourceBuilder<ListmonkResource>, string)extensionIResourceBuilder<ListmonkResource> Adds a bind mount for listmonk media uploads.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithUploadsBindMount( this IResourceBuilder<ListmonkResource> builder, string source) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.sourcestringThe source directory on the host to mount into the container.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithUploadsVolume(IResourceBuilder<ListmonkResource>, string?) Section titled WithUploadsVolume(IResourceBuilder<ListmonkResource>, string?)extensionIResourceBuilder<ListmonkResource> Adds a named volume for listmonk media uploads.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithUploadsVolume( this IResourceBuilder<ListmonkResource> builder, string? name = null) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.namestring?optionalThe name of the volume. Defaults to an auto-generated name based on the application and resource names.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .WithUserId(IResourceBuilder<ListmonkResource>, int) Section titled WithUserId(IResourceBuilder<ListmonkResource>, int)extensionIResourceBuilder<ListmonkResource> Configures the user ID used by the listmonk container entrypoint.
public static class ListmonkBuilderExtensions{ public static IResourceBuilder<ListmonkResource> WithUserId( this IResourceBuilder<ListmonkResource> builder, int userId) { // ... }}Parameters
builderIResourceBuilder<ListmonkResource> The listmonk resource builder.userId intThe value for PUID.Returns
IResourceBuilder<ListmonkResource> The ApplicationModel.IResourceBuilder`1 .