Skip to content

Modules

rightsize/modules ships eighteen preconfigured containers — a sensible default image, an exposed-ports set, a wait strategy checked against a real boot (not just assumed from the docs), and connection helpers that hand you a ready-to-use URI rather than making you assemble one from getMappedPort calls yourself.

ts
import { RedisContainer } from "rightsize/modules";

Catalog

ModuleDefault imageHelpers
RedisContainerredis:8.6-alpineuri
MemcachedContainermemcached:1.6-alpineaddress
ArangoContainerarangodb:3.11endpoint, withRootPassword(...)
MongoDBContainermongo:8.0connectionString, replicaSetUrl (single-node replica set, auto-initiated)
PostgresContainerpostgres:18-alpineconnectionString, username, password, databaseName, withUsername/withPassword/withDatabase(...)
MySQLContainermysql:8.4connectionString, username, password, databaseName, withUsername/withPassword/withDatabase(...)
MariaDBContainermariadb:11.4connectionString, username, password, databaseName, withUsername/withPassword/withDatabase(...)
RedpandaContainerredpandadata/redpanda:v24.2.4bootstrapServers, schemaRegistryUrl
KafkaContainerapache/kafka:4.0.0bootstrapServers (KRaft single node)
RabbitMQContainerrabbitmq:4-management-alpineamqpUrl, managementUrl, username, password, withUsername/withPassword(...)
PinotContainerapachepinot/pinot:1.5.1controllerUrl, brokerUrl (QuickStart -type EMPTY single-container cluster)
SpringCloudConfigContainerhyness/spring-cloud-config-server:latesturi
WireMockContainerwiremock/wiremock:3.13.2baseUrl, adminUrl
KeycloakContainerquay.io/keycloak/keycloak:26.0authServerUrl, adminUsername, adminPassword, withAdminUsername/withAdminPassword(...)
ClickHouseContainerclickhouse/clickhouse-server:25.8httpUrl, username, password, databaseName, withUsername/withPassword/withDatabase(...)
Neo4jContainerneo4j:5-communityhttpUrl, boltUrl, username, password, withPassword(...)
FlociContainerfloci/floci / floci/floci-az / floci/floci-gcpFlociContainer.aws()/.azure()/.gcp(), endpointUrl
FlinkContainerflink:1.20.5restUrl, withTaskManager()Docker only¹

Every module page includes: the default image and how to override it, the field defaults, every helper, a runnable example, and any backend-specific notes worth knowing before you run it.

¹ withTaskManager() throws UnsupportedByBackendError on microsandbox — the flink image carries no nc/busybox for the network-link tunnel (see Networking), so a bare JobManager still runs on microsandbox, but the two-container topology needs RIGHTSIZE_BACKEND=docker. Full detail on the Flink page.

Some modules raise their container's memory ceiling above microsandbox's default microVM RAM (withMemoryLimit, baked in — nothing you set yourself): Spring Cloud Config, Keycloak, Neo4j, and Flink (1024 MB each), and Pinot's four-JVM QuickStart cluster (4096 MB, non-negotiable — see its module page for the memory-ladder evidence).

Don't see what you need?

Every module is a thin subclass of GenericContainer — if there's no preconfigured module for your image, use GenericContainer directly with your own withEnv/withExposedPorts/waitingFor calls. See the Quickstart for the shape.