Use community extensions for Redis hosting
The Aspire Community Toolkit Redis hosting extensions package provides extra functionality to the Aspire.Hosting.Redis hosting package. These extensions are built and maintained by the community and are separate from the official Redis integration.
This package provides the following features:
- DbGate management UI
- dbx management UI
Hosting integration
Section titled “Hosting integration”To get started with the Aspire Community Toolkit Redis hosting extensions, install the CommunityToolkit.Aspire.Hosting.Redis.Extensions NuGet package in the app host project.
aspire add communitytoolkit-redis-extensionsThe Aspire CLI is interactive, be sure to select the appropriate search result when prompted:
Select an integration to add:
> communitytoolkit-redis-extensions (CommunityToolkit.Aspire.Hosting.Redis.Extensions)> Other results listed as selectable options...#:package CommunityToolkit.Aspire.Hosting.Redis.Extensions@*<PackageReference Include="CommunityToolkit.Aspire.Hosting.Redis.Extensions" Version="*" />aspire add CommunityToolkit.Aspire.Hosting.Redis.ExtensionsThis updates your aspire.config.json with the Redis extensions package:
{ "packages": { "CommunityToolkit.Aspire.Hosting.Redis.Extensions": "*" }}Add management UI
Section titled “Add management UI”DbGate management UI
Section titled “DbGate management UI”To add the DbGate management UI, decorate the official Redis resource with WithDbGate / withDbGate:
var builder = DistributedApplication.CreateBuilder(args);
var redis = builder.AddRedis("redis") .WithDbGate();
builder.AddProject<Projects.ExampleProject>("example-project") .WithReference(redis);
builder.Build().Run();import { createBuilder } from './.aspire/modules/aspire.mjs';
const builder = await createBuilder();
const redis = await builder.addRedis('redis');await redis.withDbGate();
const exampleProject = await builder.addProject( 'example-project', '../ExampleProject/ExampleProject.csproj');await exampleProject.withReference(redis);
await builder.build().run();This adds a new DbGate resource to the app host which is available from the Aspire dashboard. DbGate is a comprehensive database management tool that provides a web-based interface for managing your Redis databases.
dbx management UI
Section titled “dbx management UI”dbx is a lightweight, web-based database client and an alternative management UI to DbGate and Adminer. Decorate the Redis resource with WithDbx / withDbx to add it:
var builder = DistributedApplication.CreateBuilder(args);
var redis = builder.AddRedis("redis") .WithDbx();
builder.Build().Run();import { createBuilder } from './.aspire/modules/aspire.mjs';
const builder = await createBuilder();
const redis = await builder.addRedis('redis');await redis.withDbx({ containerName: 'redis-dbx', imageTag: '0.5.33',});
await builder.build().run();The C# overload accepts an optional container configuration callback and containerName. The TypeScript binding accepts optional containerName and imageTag values.