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
builderIDistributedApplicationBuilderThe 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.maxIdleintThe 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.maxLifetimestringThe 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.maxOpenintThe 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.sslModestringThe 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.groupIdintThe 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.timeZonestringThe 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.userIdintThe value for PUID.Returns
IResourceBuilder<ListmonkResource>The ApplicationModel.IResourceBuilder`1.