├── .github ├── CODEOWNERS └── workflows │ ├── ci.yml │ └── deploy.yml ├── .yamllint ├── README.md └── modules ├── aerospike ├── index.md └── logo.svg ├── alfresco ├── index.md └── logo.svg ├── arangodb ├── index.md └── logo.svg ├── artemis ├── index.md └── logo.svg ├── azure-eventhubs ├── index.md └── logo.svg ├── azure-servicebus ├── index.md └── logo.svg ├── azurite ├── index.md └── logo.svg ├── cassandra ├── index.md └── logo.svg ├── ceph ├── index.md └── logo.svg ├── chroma ├── index.md └── logo.svg ├── clickhouse ├── index.md └── logo.svg ├── cockroachdb ├── index.md └── logo.svg ├── consul ├── index.md └── logo.svg ├── cosmodb ├── index.md └── logo.svg ├── couchbase ├── index.md └── logo.svg ├── couchdb ├── index.md └── logo.svg ├── dapr ├── index.md └── logo.svg ├── databend ├── index.md └── logo.svg ├── db2 ├── index.md └── logo.svg ├── dex ├── index.md └── logo.svg ├── dind ├── index.md └── logo.svg ├── distribution-registry ├── index.md └── logo.svg ├── dockermodelrunner ├── index.md └── logo.svg ├── dolt ├── index.md └── logo.svg ├── dynalite └── index.md ├── dynamodb ├── index.md └── logo.svg ├── elasticsearch ├── index.md └── logo.svg ├── etcd ├── index.md └── logo.svg ├── eventstoredb ├── index.md └── logo.svg ├── fake-gcs-server └── index.md ├── firebirdsql └── index.md ├── flyway ├── index.md └── logo.svg ├── gemfire ├── index.md └── logo.svg ├── geomesa-accumulo ├── index.md └── logo.svg ├── git ├── index.md └── logo.svg ├── google-cloud ├── index.md └── logo.svg ├── grafana ├── index.md └── logo.svg ├── hivemq ├── index.md └── logo.svg ├── ignition ├── index.md └── logo.svg ├── inbucket ├── index.md └── logo.svg ├── influxdb ├── index.md └── logo.svg ├── janusgraph ├── index.md └── logo.svg ├── k3s ├── index.md └── logo.svg ├── k6 ├── index.md └── logo.svg ├── kafka ├── index.md └── logo.svg ├── keycloak ├── index.md └── logo.svg ├── kindcontainer └── index.md ├── kusto ├── index.md └── logo.svg ├── localstack ├── index.md └── logo.svg ├── lowkey-vault └── index.md ├── mailpit ├── index.md └── logo.svg ├── mariadb ├── index.md └── logo.svg ├── meilisearch ├── index.md └── logo.svg ├── memcached ├── index.md └── logo.svg ├── microcks ├── index.md └── logo.svg ├── milvus ├── index.md └── logo.svg ├── minio ├── index.md └── logo.svg ├── mockserver-neolight ├── index.md └── logo.svg ├── mockserver ├── index.md └── logo.svg ├── mongodb-atlas ├── index.md └── logo.svg ├── mongodb ├── index.md └── logo.svg ├── mosquitto ├── index.md └── logo.svg ├── mssql ├── index.md └── logo.svg ├── mysql ├── index.md └── logo.svg ├── nats ├── index.md └── logo.svg ├── neo4j ├── index.md └── logo.svg ├── nginx ├── index.md └── logo.svg ├── oceanbase ├── index.md └── logo.svg ├── ollama ├── index.md └── logo.svg ├── openfga ├── index.md └── logo.svg ├── openldap ├── index.md └── logo.svg ├── opensearch ├── index.md └── logo.svg ├── oracle-free ├── index.md └── logo.svg ├── oracle-xe ├── index.md └── logo.svg ├── orientdb ├── index.md └── logo.svg ├── oxia ├── index.md └── logo.svg ├── papercut └── index.md ├── permify └── index.md ├── pgvector ├── index.md └── logo.svg ├── pinecone ├── index.md └── logo.svg ├── playwright ├── index.md └── logo.svg ├── postgis ├── index.md └── logo.svg ├── postgresql ├── index.md └── logo.svg ├── presto ├── index.md └── logo.svg ├── pulsar ├── index.md └── logo.svg ├── qdrant ├── index.md └── logo.svg ├── questdb ├── index.md └── logo.svg ├── rabbitmq ├── index.md └── logo.svg ├── ravendb ├── index.md └── logo.svg ├── redis ├── index.md └── logo.svg ├── redpanda ├── index.md └── logo.svg ├── restate ├── index.md └── logo.svg ├── scylladb ├── index.md └── logo.svg ├── selenium ├── index.md └── logo.svg ├── sftp └── index.md ├── smoker ├── index.md └── logo.svg ├── solace ├── index.md └── logo.svg ├── solr ├── index.md └── logo.svg ├── spicedb ├── index.md └── logo.svg ├── sqledge ├── index.md └── logo.svg ├── surrealdb ├── index.md └── logo.svg ├── synthesized ├── index.md └── logo.svg ├── tidb ├── index.md └── logo.svg ├── tigerbeetle ├── index.md └── logo.svg ├── timeplus ├── index.md └── logo.svg ├── timescale ├── index.md └── logo.svg ├── toxiproxy ├── index.md └── logo.svg ├── trino ├── index.md └── logo.svg ├── typesense ├── index.md └── logo.svg ├── valkey ├── index.md └── logo.svg ├── vault ├── index.md └── logo.svg ├── vearch ├── index.md └── logo.svg ├── weaviate ├── index.md └── logo.svg ├── wiremock ├── index.md ├── logo.svg └── share.png ├── xunit ├── index.md └── logo.svg └── yugabytedb ├── index.md └── logo.svg /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @testcontainers/core-team 2 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI tasks 2 | 3 | on: 4 | pull_request 5 | 6 | concurrency: 7 | group: ${{ github.workflow }}-${{ github.head_ref || github.sha }} 8 | cancel-in-progress: true 9 | 10 | jobs: 11 | lint: 12 | runs-on: "ubuntu-latest" 13 | steps: 14 | - name: Check out modules 15 | uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 16 | 17 | - name: Install yamllint 18 | run: pip install --force-reinstall -v "yamllint==1.35.1" 19 | 20 | - name: List YAML files 21 | run: yamllint --list-files . 22 | 23 | - name: Lint YAML files 24 | run: find . -name 'index.md' | xargs yamllint --no-warnings -d .yamllint 25 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: "Deploy" 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | paths-ignore: 7 | - 'README.md' 8 | - '.github/CODEOWNERS' 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: Deploy 17 | run: | 18 | curl -X POST -d {} ${{ secrets.WEBHOOK_URL }} 19 | -------------------------------------------------------------------------------- /.yamllint: -------------------------------------------------------------------------------- 1 | extends: default 2 | 3 | yaml-files: 4 | - '*.yaml' 5 | - '*.yml' 6 | - '.yamllint' 7 | - 'index.md' 8 | 9 | rules: 10 | # 120 chars should be enough, but don't fail if a line is longer 11 | line-length: 12 | max: 120 13 | level: warning 14 | 15 | # don't bother me with this rule 16 | document-start: disable 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Community Module Registry [![Netlify Status](https://api.netlify.com/api/v1/badges/bec91239-ecd9-4f28-8908-ee63623ac60a/deploy-status)](https://app.netlify.com/sites/testcontainers-site/deploys) 2 | 3 | To add a new module create a new folder with the structure: 4 | 5 | ```yaml 6 | modules 7 | - 8 | - index.md 9 | - logo.svg (optional) 10 | ``` 11 | 12 | ### index.md 13 | 14 | The content of the file should be markdown frontmatter using the following template: 15 | 16 | ```yaml 17 | --- 18 | title: ArangoDB 19 | categories: 20 | - nosql-database 21 | docs: 22 | - id: java 23 | url: https://github.com/GoodforGod/arangodb-testcontainers 24 | maintainer: community 25 | example: | 26 | ```java 27 | var arango = new ArangoContainer(); 28 | arango.start(); 29 | ``` 30 | - id: nodejs 31 | url: https://node.testcontainers.org/modules/arangodb/ 32 | maintainer: core 33 | example: | 34 | ```javascript 35 | const container = await new ArangoDBContainer().start(); 36 | ``` 37 | description: | 38 | ArangoDB is a free and open-source native graph database system. It supports three data models; graphs, JSON documents, and key/value. 39 | --- 40 | ``` 41 | 42 | #### Format notes: 43 | 44 | The project uses `yamllint` to format the modules, so make sure the file is correctly formatted. Please run the following command to check the files: 45 | 46 | ```bash 47 | docker run --rm -t -v $(pwd):/data cytopia/yamllint:latest --no-warnings -d .yamllint . 48 | ``` 49 | 50 | - Current ID field values: 51 | 52 | `java`, `go`, `dotnet`, `nodejs`, `python`, `rust`, `haskell`, `ruby` 53 | 54 | - Current categories: 55 | 56 | `cloud`, `message-broker`, `nosql-database`, `other`, `relational-database`, `vector-database`, `web` 57 | 58 | - Current maintainer values: 59 | 60 | `core`, `community`, `official` 61 | 62 | - The description field supports Markdown 63 | 64 | - The example fields for each technology stack are injected into Markdown, and should use its language specification 65 | 66 | --- 67 | 68 | ### logo.svg 69 | 70 | This optional file will be displayed next to the module's name in the catalogue. Logo files should be: 71 | 72 | * a square SVG version of the module logo with no additional background 73 | * prefer 60x60 for consistency 74 | 75 | If no logo is provided a default image will be used instead: 76 | 77 | 78 | -------------------------------------------------------------------------------- /modules/aerospike/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Aerospike 3 | categories: 4 | - nosql-database 5 | - vector-database 6 | docs: 7 | - id: go 8 | url: https://golang.testcontainers.org/modules/aerospike 9 | maintainer: core 10 | example: | 11 | ```go 12 | aerospikeContainer, err := aerospike.Run(ctx, "aerospike/aerospike-server:latest") 13 | ``` 14 | installation: | 15 | ```bash 16 | go get -u github.com/testcontainers/testcontainers-go/modules/aerospike 17 | ``` 18 | description: | 19 | Aerospike is a real-time, high performance NoSQL database. 20 | --- 21 | -------------------------------------------------------------------------------- /modules/aerospike/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/alfresco/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Alfresco 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/AlfrescoLabs/alfresco-testcontainers 8 | maintainer: community 9 | example: | 10 | ```java 11 | var alfresco = new AlfrescoContainer(DockerImageName.parse("alfresco/alfresco-content-repository-community:23.2.1")); 12 | alfresco.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.alfresco 18 | alfresco-testcontainers 19 | 0.8.0 20 | 21 | ``` 22 | description: | 23 | Alfresco is a scalable, flexible, and extensible open-source software suite for content management and collaboration applications licensed under LGPLv3 and powered by open standards. 24 | --- 25 | -------------------------------------------------------------------------------- /modules/artemis/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Artemis 3 | categories: 4 | - message-broker 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/activemq/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var artemis = new ArtemisContainer("apache/activemq-artemis:2.30.0-alpine"); 12 | artemis.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | activemq 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/artemis/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | artemisContainer, err := artemis.Run(context.Background(), "docker.io/apache/activemq-artemis:2.30.0-alpine") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/artemis 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.ActiveMQ 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var artemisContainer = new ArtemisBuilder() 40 | .WithImage("apache/activemq-artemis:2.31.2") 41 | .Build(); 42 | await artemisContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.ActiveMq 47 | ``` 48 | description: | 49 | Apache ActiveMQ Artemis is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. 50 | --- 51 | -------------------------------------------------------------------------------- /modules/azure-eventhubs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Azure Event Hubs 3 | categories: 4 | - cloud 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/azure/#azure-event-hubs-emulator 8 | maintainer: core 9 | example: | 10 | ```java 11 | Network network = Network.newNetwork(); 12 | AzuriteContainer azurite = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0") 13 | .withNetwork(network); 14 | azurite.start(); 15 | 16 | var eventHubs = new EventHubsEmulatorContainer("mcr.microsoft.com/azure-messaging/eventhubs-emulator:2.0.1") 17 | .acceptLicense() 18 | .withNetwork(network) 19 | .withAzuriteContainer(azurite); 20 | eventHubs.start(); 21 | ``` 22 | installation: | 23 | ```xml 24 | 25 | org.testcontainers 26 | azure 27 | 1.20.5 28 | test 29 | 30 | ``` 31 | - id: go 32 | url: https://golang.testcontainers.org/modules/azure/#eventhubs 33 | maintainer: core 34 | example: | 35 | ```go 36 | eventhubsContainer, err := eventhubs.Run(context.Background(), "mcr.microsoft.com/azure-messaging/eventhubs-emulator:2.0.1") 37 | ``` 38 | installation: | 39 | ```bash 40 | go get github.com/testcontainers/testcontainers-go/modules/azure 41 | ``` 42 | - id: dotnet 43 | url: https://www.nuget.org/packages/Testcontainers.EventHubs 44 | maintainer: core 45 | example: | 46 | ```csharp 47 | var eventHubsContainer = new EventHubsBuilder() 48 | .WithImage("mcr.microsoft.com/azure-messaging/eventhubs-emulator:latest") 49 | .Build(); 50 | await eventHubsContainer.StartAsync(); 51 | ``` 52 | installation: | 53 | ```bash 54 | dotnet add package Testcontainers.EventHubs 55 | ``` 56 | description: | 57 | Azure Event Hubs emulator is designed to offer a local development experience for Azure Event Hubs. 58 | --- 59 | -------------------------------------------------------------------------------- /modules/azure-servicebus/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Azure Service Bus 3 | categories: 4 | - cloud 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/azure/#azure-service-bus-emulator 8 | maintainer: core 9 | example: | 10 | ```java 11 | Network network = Network.newNetwork(); 12 | 13 | MSSQLServerContainer mssql = new MSSQLServerContainer<>("mcr.microsoft.com/mssql/server:2022-CU14-ubuntu-22.04") 14 | .acceptLicense() 15 | .withNetwork(network); 16 | mssql.start(); 17 | 18 | var servicebus = new ServiceBusEmulatorContainer("mcr.microsoft.com/azure-messaging/servicebus-emulator:1.0.1") 19 | .acceptLicense() 20 | .withConfig(MountableFile.forClasspathResource("/service-bus-config.json")) 21 | .withNetwork(network) 22 | .withMsSqlServerContainer(mssql); 23 | servicebus.start(); 24 | ``` 25 | installation: | 26 | ```xml 27 | 28 | org.testcontainers 29 | azure 30 | 1.20.5 31 | test 32 | 33 | ``` 34 | - id: go 35 | url: https://golang.testcontainers.org/modules/azure/#servicebus 36 | maintainer: core 37 | example: | 38 | ```go 39 | servicebusContainer, err := servicebus.Run(context.Background(), "mcr.microsoft.com/azure-messaging/servicebus-emulator:1.1.2") 40 | ``` 41 | installation: | 42 | ```bash 43 | go get github.com/testcontainers/testcontainers-go/modules/azure 44 | ``` 45 | - id: dotnet 46 | url: https://www.nuget.org/packages/Testcontainers.ServiceBus 47 | maintainer: core 48 | example: | 49 | ```csharp 50 | var serviceBusContainer = new ServiceBusBuilder() 51 | .WithImage("mcr.microsoft.com/azure-messaging/servicebus-emulator:latest") 52 | .Build(); 53 | await serviceBusContainer.StartAsync(); 54 | ``` 55 | installation: | 56 | ```bash 57 | dotnet add package Testcontainers.ServiceBus 58 | ``` 59 | description: | 60 | The Azure Service Bus emulator offers a local development experience for the Service bus service. 61 | --- 62 | -------------------------------------------------------------------------------- /modules/ceph/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Ceph 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/jarlah/testcontainers-ceph 8 | maintainer: community 9 | example: | 10 | ```java 11 | CephContainer cephServer = new CephContainer(); 12 | cephServer.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | com.github.jarlah 18 | testcontainers-ceph 19 | 2.0.7 20 | test 21 | 22 | ``` 23 | description: | 24 | This module allows provisioning the Ceph server as a standalone container within your tests based on [Ceph Demo Container](https://github.com/ceph/ceph-container). 25 | 26 | Ceph, also known as Ceph Storage, is an open-source storage platform designed to provide 27 | highly scalable object, block, and file storage in a unified system. 28 | Developed by Inktank Storage (which was acquired by Red Hat in 2014), 29 | it is intended to help organizations manage vast amounts of data with a high level of fault tolerance and seamless scalability. 30 | Ceph allows enterprises and service providers to install a distributed storage infrastructure with both performance and resilience. 31 | 32 | Read more: 33 | - [Ceph Documentation](https://docs.ceph.com/en/latest/start/intro/) 34 | - [Ceph Container Documentation](https://github.com/ceph/ceph-container/) 35 | --- 36 | -------------------------------------------------------------------------------- /modules/chroma/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Chroma 3 | categories: 4 | - vector-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/chromadb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var chromadb = new ChromaDBContainer("chromadb/chroma:0.4.22"); 12 | ``` 13 | installation: | 14 | ```xml 15 | 16 | org.testcontainers 17 | chromadb 18 | 1.20.0 19 | test 20 | 21 | ``` 22 | - id: go 23 | url: https://golang.testcontainers.org/modules/chroma/ 24 | maintainer: core 25 | example: | 26 | ```go 27 | chromaContainer, err := chroma.Run(context.Background(), "chromadb/chroma:0.4.22") 28 | ``` 29 | installation: | 30 | ```bash 31 | go get github.com/testcontainers/testcontainers-go/modules/chroma 32 | ``` 33 | - id: nodejs 34 | url: https://node.testcontainers.org/modules/chromadb/ 35 | maintainer: core 36 | example: | 37 | ```javascript 38 | const container = await new ChromaDBContainer("chromadb/chroma:0.6.3").start(); 39 | ``` 40 | installation: | 41 | ```bash 42 | npm install @testcontainers/chromadb --save-dev 43 | ``` 44 | - id: python 45 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/chroma/README.html 46 | maintainer: core 47 | example: | 48 | ```python 49 | with ChromaContainer() as chroma: 50 | config = chroma.get_config() 51 | client = chromadb.HttpClient(host=config["host"], port=config["port"]) 52 | collection = client.get_or_create_collection("test") 53 | print(collection.name) 54 | ``` 55 | installation: | 56 | ```bash 57 | pip install testcontainers[chroma] 58 | ``` 59 | description: | 60 | Chroma is the AI-native open-source embedding database. 61 | --- 62 | -------------------------------------------------------------------------------- /modules/chroma/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/clickhouse/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ClickHouse 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/clickhouse/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var clickHouseContainer = new ClickHouseContainer(); 12 | clickHouseContainer.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | clickhouse 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/clickhouse/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | clickHouseContainer, err := clickhouse.Run(context.Background(), "clickhouse/clickhouse-server:23.3.8.21-alpine") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/clickhouse 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.ClickHouse 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var clickHouseContainer = new ClickHouseBuilder() 40 | .WithImage("clickhouse/clickhouse-server:23.6-alpine") 41 | .Build(); 42 | await clickHouseContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.ClickHouse 47 | ``` 48 | - id: python 49 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/clickhouse/README.html 50 | maintainer: core 51 | example: | 52 | ```python 53 | with ClickHouseContainer("clickhouse/clickhouse-server:21.8") as clickhouse: 54 | client = clickhouse_driver.Client.from_url(clickhouse.get_connection_url()) 55 | client.execute("select 'working'") 56 | ``` 57 | installation: | 58 | ```bash 59 | pip install testcontainers[clickhouse] 60 | ``` 61 | description: | 62 | ClickHouse is an open-source database management system for analytical processing that allows users to generate reports using SQL queries in real-time. 63 | --- 64 | -------------------------------------------------------------------------------- /modules/clickhouse/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /modules/consul/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Consul 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/consul/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var consul = new ConsulContainer(DockerImageName.parse("hashicorp/consul:1.15")); 12 | consul.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | consul 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/consul/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | consulContainer, err := consul.Run(context.Background(), "hashicorp/consul:1.15") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/consul 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.Consul 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var consulContainer = new ConsulBuilder() 40 | .WithImage("consul:1.15") 41 | .Build(); 42 | await consulContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.Consul 47 | ``` 48 | description: | 49 | Consul is a service mesh and distributed key-value store. 50 | 51 | With the increasing popularity of Consul and config externalization, applications are now needing to source properties from Consul. This can prove challenging in the development phase without a running Consul instance readily on hand. This module solves integration testing with Consul. You can also use it to test how your application behaves with Consul by writing different test scenarios. 52 | --- 53 | -------------------------------------------------------------------------------- /modules/cosmodb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Azure Cosmos DB 3 | categories: 4 | - cloud 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/azure/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var cosmos = new CosmosDBEmulatorContainer( 12 | DockerImageName.parse("mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest") 13 | ); 14 | cosmos.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | azure 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | - id: dotnet 26 | url: https://www.nuget.org/packages/Testcontainers.CosmosDb 27 | maintainer: core 28 | example: | 29 | ```csharp 30 | var cosmosDbContainer = new CosmosDbBuilder() 31 | .WithImage("mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest") 32 | .Build(); 33 | await cosmosDbContainer.StartAsync(); 34 | ``` 35 | installation: | 36 | ```bash 37 | dotnet add package Testcontainers.CosmosDb 38 | ``` 39 | - id: nodejs 40 | url: https://node.testcontainers.org/modules/cosmosdb/ 41 | maintainer: core 42 | example: | 43 | ```javascript 44 | const container = await new AzureCosmosDbEmulatorContainer( 45 | "mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-EN20250228" 46 | ).start(); 47 | ``` 48 | installation: | 49 | ```bash 50 | npm install @testcontainers/azure-cosmosdb-emulator --save-dev 51 | ``` 52 | - id: python 53 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/cosmosdb/README.html 54 | maintainer: core 55 | example: | 56 | ```python 57 | with CosmosDBNoSQLEndpointContainer() as emulator: 58 | client = CosmosClient(url=emulator.url, credential=emulator.key, connection_verify=False) 59 | db = client.create_database_if_not_exists("test") 60 | ``` 61 | installation: | 62 | ```bash 63 | pip install testcontainers[cosmosdb] 64 | ``` 65 | description: | 66 | Azure Cosmos DB is a fully managed, horizontally scalable, NoSQL and relational database. 67 | --- 68 | -------------------------------------------------------------------------------- /modules/couchbase/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Couchbase 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/couchbase/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var couchbase = new CouchbaseContainer(DockerImageName.parse( 12 | "couchbase/server:community-7.0.2" 13 | )); 14 | couchbase.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | couchbase 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | - id: go 26 | url: https://golang.testcontainers.org/modules/couchbase/ 27 | maintainer: core 28 | example: | 29 | ```go 30 | couchbaseContainer, err := couchbase.Run(context.Background(), 31 | "couchbase/server:community-7.0.2", 32 | couchbase.WithBucket(couchbase.NewBucket("bucketName")), 33 | ) 34 | ``` 35 | installation: | 36 | ```bash 37 | go get github.com/testcontainers/testcontainers-go/modules/couchbase 38 | ``` 39 | - id: dotnet 40 | url: https://www.nuget.org/packages/Testcontainers.Couchbase 41 | maintainer: core 42 | example: | 43 | ```csharp 44 | var couchbaseContainer = new CouchbaseBuilder() 45 | .WithImage("couchbase:community-7.0.2") 46 | .Build(); 47 | await couchbaseContainer.StartAsync(); 48 | ``` 49 | installation: | 50 | ```bash 51 | dotnet add package Testcontainers.Couchbase 52 | ``` 53 | - id: nodejs 54 | url: https://node.testcontainers.org/modules/couchbase/ 55 | maintainer: core 56 | example: | 57 | ```javascript 58 | const container = await new CouchbaseContainer("couchbase/server:community-7.0.2").start(); 59 | ``` 60 | installation: | 61 | ```bash 62 | npm install @testcontainers/couchbase --save-dev 63 | ``` 64 | description: | 65 | Couchbase is an open-source, distributed, multi-model, document oriented, NoSQL database. 66 | --- 67 | -------------------------------------------------------------------------------- /modules/couchbase/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/couchdb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: CouchDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.CouchDb 8 | example: | 9 | ```csharp 10 | var couchDbContainer = new CouchDbBuilder() 11 | .WithImage("couchdb:3.3") 12 | .Build(); 13 | await couchDbContainer.StartAsync(); 14 | ``` 15 | installation: | 16 | ```bash 17 | dotnet add package Testcontainers.CouchDb 18 | ``` 19 | description: | 20 | CouchDB is an open-source document-oriented NoSQL clustered database that allows you to run a single logical database server on any number of servers or VM. 21 | --- 22 | -------------------------------------------------------------------------------- /modules/couchdb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/dapr/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Dapr 3 | categories: 4 | - cloud 5 | officialPartner: 6 | name: Diagrid 7 | url: https://www.diagrid.io/ 8 | docs: 9 | - id: java 10 | url: https://github.com/dapr/java-sdk/tree/master/testcontainers-dapr 11 | maintainer: official 12 | example: | 13 | ```java 14 | var dapr = new DaprContainer("daprio/daprd:1.14.4"); 15 | dapr.start(); 16 | ``` 17 | installation: | 18 | ```xml 19 | 20 | io.dapr 21 | testcontainers-dapr 22 | 0.13.3 23 | test 24 | 25 | ``` 26 | description: | 27 | Dapr is a CNCF and open-source project that enables developers with consistent application-level APIs to develop secure, scalable, and resilient cloud-native applications. 28 | --- 29 | -------------------------------------------------------------------------------- /modules/databend/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Databend 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/databend/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | DatabendContainer databend = new DatabendContainer("datafuselabs/databend:v1.2.615"); 12 | databend.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | databend 19 | 1.20.1 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/databend/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | databendContainer, err := databend.Run(context.Background(), "datafuselabs/databend:v1.2.615", databend.WithUsername("test1"), databend.WithPassword("pass1")) 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/databend 33 | ``` 34 | - id: rust 35 | url: https://github.com/testcontainers/testcontainers-rs-modules-community 36 | maintainer: community 37 | example: | 38 | ```rust 39 | let databend = DatabendImage::default().start().await.unwrap(); 40 | ``` 41 | installation: | 42 | ```bash 43 | cargo add -F surrealdb --dev testcontainers-modules 44 | ``` 45 | description: | 46 | Databend, built in Rust, is an open-source cloud data warehouse. 47 | --- 48 | -------------------------------------------------------------------------------- /modules/db2/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DB2 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/db2/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var db2 = new Db2Container(DockerImageName.parse("ibmcom/db2:11.5.0.0a")) 12 | .acceptLicense(); 13 | db2.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.testcontainers 19 | db2 20 | 1.20.0 21 | test 22 | 23 | ``` 24 | - id: dotnet 25 | url: https://www.nuget.org/packages/Testcontainers.Db2 26 | maintainer: core 27 | example: | 28 | ```csharp 29 | var db2Container = new Db2Builder() 30 | .WithImage("icr.io/db2_community/db2:12.1.0.0") 31 | .Build(); 32 | await db2Container.StartAsync(); 33 | ``` 34 | installation: | 35 | ```bash 36 | dotnet add package Testcontainers.Db2 37 | ``` 38 | - id: python 39 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/db2/README.html 40 | maintainer: core 41 | example: | 42 | ```python 43 | with Db2Container("icr.io/db2_community/db2:latest") as db2: 44 | engine = sqlalchemy.create_engine(db2.get_connection_url()) 45 | with engine.begin() as connection: 46 | result = connection.execute(sqlalchemy.text("select service_level from sysibmadm.env_inst_info")) 47 | ``` 48 | installation: | 49 | ```bash 50 | pip install testcontainers[db2] 51 | ``` 52 | description: | 53 | IBM Db2 is a family of data management products, including database servers. 54 | --- 55 | -------------------------------------------------------------------------------- /modules/dex/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Dex 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/Kehrlann/testcontainers-dex 8 | maintainer: community 9 | example: | 10 | ```java 11 | var container = new DexContainer(DexContainer.DEFAULT_IMAGE_NAME.withTag(DexContainer.DEFAULT_TAG)) 12 | .withClient(new DexContainer.Client("client-1", "client-1-secret", "https://one.example.com/authorized")) 13 | .withUser(new DexContainer.User("alice", "alice@example.com", "alice-password")); 14 | container.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | wf.garnier 20 | testcontainers-dex 21 | 3.2.0 22 | test 23 | 24 | ``` 25 | description: | 26 | Dex is an identity service that uses OpenID Connect to drive authentication for other apps. 27 | 28 | Read more: 29 | - [Official website](https://dexidp.io) 30 | - [Documentation](https://dexidp.io/docs/) 31 | - [Github project](https://github.com/dexidp/dex) 32 | --- 33 | -------------------------------------------------------------------------------- /modules/dex/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/dind/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Docker in Docker (DinD) 3 | categories: 4 | - other 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/dind/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | dindContainer, err := dind.Run(context.Background(), "docker:28.0.1-dind") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/dind 16 | ``` 17 | description: | 18 | Docker in Docker (DinD) is a Docker container that runs a Docker daemon. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/dind/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/distribution-registry/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Distribution Registry 3 | categories: 4 | - other 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/registry/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | registryContainer, err := registry.RunContainer(context.Background(), testcontainers.WithImage("registry:2.8.3")) 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/registry 16 | ``` 17 | description: | 18 | The Open Source Registry implementation for storing and distributing container images and other content using the OCI Distribution Specification. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/dockermodelrunner/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Docker Model Runner 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/docker_model_runner/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | DockerModelRunnerContainer dmr = new DockerModelRunnerContainer("alpine/socat:1.7.4.3-r0"); 12 | 13 | dmr.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.testcontainers 19 | testcontainers 20 | 1.21.0 21 | test 22 | 23 | ``` 24 | - id: go 25 | url: https://golang.testcontainers.org/modules/dockermodelrunner/ 26 | maintainer: core 27 | example: | 28 | ```go 29 | dmrContainer, err := dockermodelrunner.Run(context.Background()) 30 | ``` 31 | installation: | 32 | ```bash 33 | go get github.com/testcontainers/testcontainers-go/modules/dockermodelrunner 34 | ``` 35 | description: | 36 | Docker Model Runner is a faster, simpler way to run and test AI models locally, right from your existing workflow. 37 | --- 38 | -------------------------------------------------------------------------------- /modules/dockermodelrunner/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/dolt/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DoltDB 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/dolt/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | doltContainer, err := dolt.Run(context.Background(), "dolthub/dolt-sql-server:1.32.4") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/dolt 16 | ``` 17 | description: | 18 | Dolt is a SQL database that you can fork, clone, branch, merge, push and pull just like a Git repository. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/dolt/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /modules/dynalite/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Dynalite 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/dynalite/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var dynamoDB = new DynaliteContainer(DockerImageName.parse( 12 | "quay.io/testcontainers/dynalite:v1.2.1-1" 13 | )); 14 | dynamoDB.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | dynalite 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | description: | 26 | Dynalite is an implementation of Amazon's DynamoDB built on LevelDB that aims to match live DynamoDB instances as closely as possible, including all limits and error messages. 27 | --- 28 | -------------------------------------------------------------------------------- /modules/dynamodb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: DynamoDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/dynamodb/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | dynamodbContainer, err := dynamodblocal.Run(context.Background(), "amazon/dynamodb-local:2.2.1") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/dynamodb 16 | ``` 17 | - id: dotnet 18 | url: https://www.nuget.org/packages/Testcontainers.DynamoDb 19 | maintainer: core 20 | example: | 21 | ```csharp 22 | var dynamoDbContainer = new DynamoDbBuilder() 23 | .WithImage("amazon/dynamodb-local:1.21.0") 24 | .Build(); 25 | await dynamoDbContainer.StartAsync(); 26 | ``` 27 | installation: | 28 | ```bash 29 | dotnet add package Testcontainers.DynamoDb 30 | ``` 31 | description: | 32 | Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. 33 | 34 | [DynamoDB local](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) is the downloadable version of Amazon DynamoDB that can be used to develop and test applications without accessing the DynamoDB web service. You can [run DynamoDB locally on your computer](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html) in multiple ways, including a Docker container. 35 | --- 36 | -------------------------------------------------------------------------------- /modules/dynamodb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /modules/elasticsearch/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/etcd/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: etcd 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/etcd-io/jetcd/blob/ebf983b811f983e51e7d93f30478698c5c582d73/jetcd-launcher/src/main/java/io/etcd/jetcd/launcher/EtcdContainer.java 8 | maintainer: community 9 | example: | 10 | ```java 11 | var etcdContainer = new EtcdContainer(); 12 | etcdContainer.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | io.etcd 18 | jetcd-core 19 | 0.8.2 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/etcd/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | etcdContainer, err := etcd.Run(context.Background(), "gcr.io/etcd-development/etcd:v3.5.14") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/etcd 33 | ``` 34 | description: | 35 | etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. It gracefully handles leader elections during network partitions and can tolerate machine failure, even in the leader node. 36 | --- 37 | -------------------------------------------------------------------------------- /modules/eventstoredb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: EventStoreDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.EventStoreDb 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var eventStoreDbContainer = new EventStoreDbBuilder() 12 | .WithImage("eventstore/eventstore:22.10.1-buster-slim") 13 | .Build(); 14 | await eventStoreDbContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.EventStoreDb 19 | ``` 20 | - id: nodejs 21 | url: https://node.testcontainers.org/modules/eventstoredb/ 22 | maintainer: core 23 | example: | 24 | ```javascript 25 | const container = await new EventStoreDBContainer("eventstore/eventstore:24.10").start(); 26 | ``` 27 | installation: | 28 | ```bash 29 | npm install @testcontainers/eventstoredb --save-dev 30 | ``` 31 | description: | 32 | EventStoreDB is an event sourcing database that stores data in streams of immutable events. 33 | --- 34 | -------------------------------------------------------------------------------- /modules/fake-gcs-server/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: fake-gcs-server 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/Aiven-Open/testcontainers-fake-gcs-server 8 | maintainer: community 9 | example: | 10 | ```java 11 | var fakeGcsServer = new FakeGcsServerContainer(); 12 | fakeGcsServer.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | io.aiven 18 | testcontainers-fake-gcs-server 19 | 0.1.0 20 | 21 | ``` 22 | - id: dotnet 23 | url: https://www.nuget.org/packages/Testcontainers.FakeGcsServer 24 | maintainer: core 25 | example: | 26 | ```csharp 27 | var fakeGcsServerContainer = new FakeGcsServerBuilder() 28 | .WithImage("fsouza/fake-gcs-server:1.47") 29 | .Build(); 30 | await fakeGcsServerContainer.StartAsync(); 31 | ``` 32 | installation: | 33 | ```bash 34 | dotnet add package Testcontainers.FakeGcsServer 35 | ``` 36 | description: | 37 | fake-gcs-server provides an emulator for Google Cloud Storage API. 38 | --- 39 | -------------------------------------------------------------------------------- /modules/firebirdsql/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Firebird 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.FirebirdSql 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var firebirdContainer = new FirebirdSqlBuilder() 12 | .WithImage("jacobalberty/firebird:v4.0") 13 | .Build(); 14 | await firebirdContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.FirebirdSql 19 | ``` 20 | description: | 21 | Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names, since 1981. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/flyway/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Flyway 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: go 7 | url: https://github.com/CyberOwlTeam/testcontainers-go-flyway 8 | maintainer: community 9 | example: | 10 | ```go 11 | flywayContainer, err := flyway.RunContainer(context.Background(), testcontainers.WithImage("flyway/flyway:10.15.0")) 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/CyberOwlTeam/testcontainers-go-flyway 16 | ``` 17 | description: | 18 | Flyway by Redgate • Database Migrations Made Easy. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/gemfire/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Gemfire 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://github.com/gemfire/gemfire-testcontainers 8 | maintainer: community 9 | example: | 10 | ```java 11 | GemFireClusterContainer gemfire = new GemFireClusterContainer<>() 12 | .acceptLicense() 13 | gemfire.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | dev.gemfire 19 | gemfire-testcontainers 20 | 2.3.0 21 | test 22 | 23 | ``` 24 | description: | 25 | VMware GemFire is a data management platform that provides real-time, consistent access to data-intensive applications throughout widely distributed cloud architectures. 26 | --- 27 | -------------------------------------------------------------------------------- /modules/gemfire/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /modules/geomesa-accumulo/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: GeoMesa Accumulo 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://github.com/geomesa/accumulo-uno 8 | maintainer: community 9 | example: | 10 | ```java 11 | var image = DockerImageName.parse("ghcr.io/geomesa/accumulo-uno:2.1.3"); 12 | var accumulo = new AccumuloContainer(image).withGeoMesaDistributedRuntime(); 13 | accumulo.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.geomesa.testcontainers 19 | testcontainers-accumulo 20 | 1.4.1 21 | test 22 | 23 | 24 | org.locationtech.geomesa 25 | geomesa-accumulo-distributed-runtime_2.12 26 | 5.1.0 27 | test 28 | 29 | ``` 30 | description: | 31 | GeoMesa is a suite of tools that enables large-scale geospatial querying and analytics on distributed computing systems. 32 | Apache Accumulo® is a sorted, distributed key/value store that provides robust, scalable data storage and retrieval. 33 | --- 34 | -------------------------------------------------------------------------------- /modules/git/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Plain Git Server 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/sparsick/testcontainers-git 8 | maintainer: community 9 | example: | 10 | ```java 11 | var gitServer = 12 | new GitServerContainer(DockerImageName.parse("rockstorm/git-server:2.38")) 13 | .withGitRepo("testRepo") // overwrite the default git repository name 14 | .withGitPassword("12345"); // overwrite the default git password 15 | gitServer.start(); 16 | ``` 17 | installation: | 18 | ```xml 19 | 20 | io.github.sparsick.testcontainers.gitserver 21 | testcontainers-gitserver 22 | 0.8.0 23 | test 24 | 25 | ``` 26 | description: | 27 | Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. 28 | --- 29 | -------------------------------------------------------------------------------- /modules/git/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/google-cloud/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /modules/grafana/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Grafana 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/grafana/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var lgtm = new LgtmStackContainer("grafana/otel-lgtm:0.6.0"); 12 | lgtm.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | grafana 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/grafana-lgtm/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | grafanaLgtmContainer, err := grafanalgtm.Run(context.Background(), "grafana/otel-lgtm:0.6.0") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/grafanalgtm 33 | ``` 34 | description: | 35 | Grafana is the open source analytics & monitoring solution for every database. 36 | --- 37 | -------------------------------------------------------------------------------- /modules/hivemq/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: HiveMQ 3 | categories: 4 | - message-broker 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/hivemq/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var hivemqCe = new HiveMQContainer(DockerImageName.parse("hivemq/hivemq-ce") 12 | .withTag("2021.3")) 13 | hivemqCe.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.testcontainers 19 | hivemq 20 | 1.20.0 21 | test 22 | 23 | ``` 24 | - id: nodejs 25 | url: https://node.testcontainers.org/modules/hivemq/ 26 | maintainer: core 27 | example: | 28 | ```javascript 29 | const container = await new HiveMQContainer("hivemq/hivemq-ce:2023.5").start(); 30 | ``` 31 | installation: | 32 | ```bash 33 | npm install @testcontainers/hivemq --save-dev 34 | ``` 35 | description: | 36 | HiveMQ is an MQTT broker and a client based messaging platform designed for the fast, efficient and reliable movement of data to and from connected IoT devices. 37 | --- 38 | -------------------------------------------------------------------------------- /modules/ignition/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Ignition 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/mussonindustrial/testcontainers-ignition/ 8 | maintainer: community 9 | example: | 10 | ```java 11 | var ignition = new IgnitionContainer("inductiveautomation/ignition:8.1.33") 12 | .acceptLicense(); 13 | ignition.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | com.mussonindustrial 19 | testcontainers-ignition 20 | 0.4.1 21 | test 22 | 23 | ``` 24 | description: | 25 | Ignition is a powerful integrated development environment with everything you need to create virtually any kind of industrial software application – SCADA, IIoT, MES and beyond – all on one platform. 26 | --- 27 | -------------------------------------------------------------------------------- /modules/ignition/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /modules/inbucket/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Inbucket 3 | categories: 4 | - other 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/inbucket/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | inbucketContainer, err := inbucket.Run(context.Background(), "inbucket/inbucket:sha-2d409bb") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/inbucket 16 | ``` 17 | description: | 18 | Inbucket is an email testing application; it will accept messages for any email address and make them available to view via a web interface. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/influxdb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: InfluxDB 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/influxdb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var influx = new InfluxDBContainer<>(DockerImageName.parse("influxdb:2.0.7")); 12 | influx.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | influxdb 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/influxdb/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | influxdbContainer, err := influxdb.Run(context.Background(), "influxdb:1.8.10") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/influxdb 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.InfluxDb 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var influxDbContainer = new InfluxDbBuilder() 40 | .WithImage("influxdb:2.7") 41 | .Build(); 42 | await influxDbContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.InfluxDb 47 | ``` 48 | - id: python 49 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/influxdb/README.html 50 | maintainer: core 51 | example: | 52 | ```python 53 | with InfluxDbContainer() as influxdb_container: 54 | connection_url = influxdb_container.get_url() 55 | ``` 56 | installation: | 57 | ```bash 58 | pip install testcontainers[influxdb] 59 | ``` 60 | description: | 61 | InfluxDB is an open-source time series database for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. 62 | --- 63 | -------------------------------------------------------------------------------- /modules/janusgraph/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: JanusGraph 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.JanusGraph 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var janusGraphContainer = new JanusGraphBuilder() 12 | .WithImage("janusgraph/janusgraph:1.0.0") 13 | .Build(); 14 | await janusGraphContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.JanusGraph 19 | ``` 20 | description: | 21 | JanusGraph is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/janusgraph/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/k3s/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: K3S 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/k3s/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var k3s = new K3sContainer(DockerImageName.parse("rancher/k3s:v1.21.3-k3s1")); 12 | k3s.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | k3s 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/k3s/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | k3sContainer, err := k3s.Run(context.Background(), "rancher/k3s:v1.27.1-k3s1") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/k3s 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.K3s 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var k3sConainter = new K3sBuilder() 40 | .WithImage("rancher/k3s:v1.26.2-k3s1") 41 | .Build(); 42 | await k3sConainter.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.K3s 47 | ``` 48 | - id: python 49 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/k3s/README.html 50 | maintainer: core 51 | example: | 52 | ```python 53 | with K3SContainer() as k3s: 54 | kube_config = k3s.config_yaml() 55 | ``` 56 | installation: | 57 | ```bash 58 | pip install testcontainers[k3s] 59 | - id: nodejs 60 | url: https://node.testcontainers.org/modules/k3s/ 61 | maintainer: core 62 | example: | 63 | ```javascript 64 | const container = await new K3sContainer("rancher/k3s:v1.31.2-k3s1").start(); 65 | ``` 66 | installation: | 67 | ```bash 68 | npm install @testcontainers/k3s --save-dev 69 | ``` 70 | description: | 71 | K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances. 72 | --- 73 | -------------------------------------------------------------------------------- /modules/k3s/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/k6/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: K6 3 | categories: 4 | - web 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/k6/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var k6 = new K6Container("grafana/k6:0.49.0"); 12 | ``` 13 | installation: | 14 | ```xml 15 | 16 | org.testcontainers 17 | k6 18 | 1.20.0 19 | test 20 | 21 | ``` 22 | - id: go 23 | url: https://golang.testcontainers.org/modules/k6/ 24 | maintainer: core 25 | example: | 26 | ```go 27 | k6Container, err := k6.Run(context.Background(), "szkiba/k6x:v0.3.1") 28 | ``` 29 | installation: | 30 | ```bash 31 | go get github.com/testcontainers/testcontainers-go/modules/k6 32 | ``` 33 | description: | 34 | k6 is an open-source tool and cloud service that makes load testing easy for developers and QA engineers. 35 | --- 36 | -------------------------------------------------------------------------------- /modules/k6/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/kafka/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Kafka 3 | categories: 4 | - message-broker 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/kafka/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var kafka = new KafkaContainer("apache/kafka-native:3.8.0"); 12 | kafka.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | kafka 19 | 1.20.1 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/kafka/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | kafkaContainer, err := kafka.Run(context.Background(), "confluentinc/confluent-local:7.5.0") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/kafka 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.Kafka 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var kafkaContainer = new KafkaBuilder() 40 | .WithImage("confluentinc/cp-kafka:6.2.10") 41 | .Build(); 42 | await kafkaContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.Kafka 47 | ``` 48 | - id: nodejs 49 | url: https://node.testcontainers.org/modules/kafka/ 50 | maintainer: core 51 | example: | 52 | ```javascript 53 | const kafkaContainer = await new KafkaContainer("confluentinc/cp-kafka:7.2.2").start(); 54 | ``` 55 | installation: | 56 | ```bash 57 | npm install @testcontainers/kafka --save-dev 58 | ``` 59 | - id: python 60 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/kafka/README.html 61 | maintainer: core 62 | example: | 63 | ```python 64 | with KafkaContainer() as kafka: 65 | connection = kafka.get_bootstrap_server() 66 | ``` 67 | installation: | 68 | ```bash 69 | pip install testcontainers[kafka] 70 | ``` 71 | description: | 72 | Kafka is an open-source distributed event streaming platform for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. 73 | --- 74 | -------------------------------------------------------------------------------- /modules/keycloak/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Keycloak 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/dasniko/testcontainers-keycloak 8 | maintainer: community 9 | example: | 10 | ```java 11 | var keycloak = new KeycloakContainer(); 12 | keycloak.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | com.github.dasniko 18 | testcontainers-keycloak 19 | 3.4.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://github.com/stillya/testcontainers-keycloak 25 | maintainer: community 26 | example: | 27 | ```go 28 | keycloakContainer, err := keycloak.RunContainer(context.Background(), 29 | testcontainers.WithImage("quay.io/keycloak/keycloak:21.1"), 30 | testcontainers.WithWaitStrategy(wait.ForListeningPort("8080/tcp")), 31 | keycloak.WithContextPath("/auth"), 32 | keycloak.WithRealmImportFile("../testdata/realm-export.json"), 33 | keycloak.WithAdminUsername("admin"), 34 | keycloak.WithAdminPassword("admin"), 35 | ) 36 | ``` 37 | installation: | 38 | ```bash 39 | go get github.com/stillya/testcontainers-keycloak 40 | ``` 41 | - id: dotnet 42 | url: https://www.nuget.org/packages/Testcontainers.Keycloak 43 | maintainer: core 44 | example: | 45 | ```csharp 46 | var keycloakContainer = new KeycloakBuilder() 47 | .WithImage("quay.io/keycloak/keycloak:21.1") 48 | .Build(); 49 | await keycloakContainer.StartAsync(); 50 | ``` 51 | installation: | 52 | ```bash 53 | dotnet add package Testcontainers.Keycloak 54 | ``` 55 | - id: python 56 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/keycloak/README.html 57 | maintainer: core 58 | example: | 59 | ```python 60 | with KeycloakContainer() as keycloak: 61 | client = keycloak.get_client() 62 | ``` 63 | installation: | 64 | ```bash 65 | pip install testcontainers[keycloak] 66 | ``` 67 | description: | 68 | Keycloak is an open source identity and access management application that provides user federation, strong authentication, user management, fine-grained authorization, and more. 69 | --- 70 | -------------------------------------------------------------------------------- /modules/kindcontainer/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Kindcontainer 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/dajudge/kindcontainer 8 | maintainer: community 9 | example: | 10 | ```java 11 | var kind = new KindContainer<>(); 12 | kind.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | com.dajudge.kindcontainer 18 | kindcontainer 19 | 1.4.6 20 | test 21 | 22 | ``` 23 | description: | 24 | Kindcontainer provides ephemeral Kubernetes clusters for integration testing. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/kusto/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Azure Data Explorer Kusto emulator 3 | categories: 4 | - other 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.Kusto 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var kustoContainer = new KustoBuilder() 12 | .WithImage("mcr.microsoft.com/azuredataexplorer/kustainer-linux:latest") 13 | .Build(); 14 | await kustoContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.Kusto 19 | ``` 20 | description: | 21 | Kusto Query Language (KQL) is a powerful tool for exploring your data and discovering patterns, identifying anomalies and outliers, creating statistical modeling, and more. KQL is a simple yet powerful language to query structured, semi-structured, and unstructured data. The language is expressive, easy to read and understand the query intent, and optimized for authoring experiences. KQL is optimal for querying telemetry, metrics, and logs with deep support for text search and parsing, time-series operators and functions, analytics and aggregation, geospatial, vector similarity searches, and many other language constructs that provide the most optimal language for data analysis. The query uses schema entities that are organized in a hierarchy similar to SQLs: databases, tables, and columns. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/localstack/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /modules/lowkey-vault/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Lowkey Vault 3 | categories: 4 | - other 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.LowkeyVault 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var lowkeyVaultContainer = new LowkeyVaultBuilder() 12 | .WithImage("nagyesta/lowkey-vault:2.7.1-ubi9-minimal") 13 | .Build(); 14 | await lowkeyVaultContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.LowkeyVault 19 | ``` 20 | description: | 21 | Lowkey Vault is a test double (fake object) aspiring to be compatible with Azure Key Vault REST APIs. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/mailpit/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Mailpit 3 | categories: 4 | - other 5 | docs: 6 | - id: python 7 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/mailpit/README.html 8 | maintainer: core 9 | example: | 10 | ```python 11 | with MailpitContainer(image = "axllent/mailpit:v1.21") as mailpit: 12 | host_ip = mailpit.get_container_host_ip() 13 | host_port = mailpit.get_exposed_smtp_port() 14 | server = smtplib.SMTP( 15 | mailpit.get_container_host_ip(), 16 | mailpit.get_exposed_smtp_port(), 17 | ) 18 | code, _ = server.login("any", "auth") 19 | ``` 20 | installation: | 21 | ```bash 22 | pip install testcontainers[mailpit] 23 | ``` 24 | description: | 25 | Mailpit is a small, fast, low memory, zero-dependency, multi-platform email testing tool & API for developers. 26 | --- 27 | -------------------------------------------------------------------------------- /modules/mailpit/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /modules/mariadb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MariaDB 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/mariadb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var mariaDB = new MariaDBContainer<>(DockerImageName.parse("mariadb:10.5.5")); 12 | mariaDB.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | mariadb 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/mariadb 25 | maintainer: core 26 | example: | 27 | ```go 28 | mariaDBContainer, err := mariadb.Run(context.Background(), "mariadb:11.0.3") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/mariadb 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.MariaDb 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var mariaDbContainer = new MariaDbBuilder() 40 | .WithImage("mariadb:10.10") 41 | .Build(); 42 | await mariaDbContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.MariaDb 47 | ``` 48 | - id: nodejs 49 | url: https://node.testcontainers.org/modules/mariadb/ 50 | maintainer: core 51 | example: | 52 | ```javascript 53 | const container = await new MariaDbContainer("mariadb:11.5.2").start(); 54 | ``` 55 | installation: | 56 | ```bash 57 | npm install @testcontainers/mariadb --save-dev 58 | ``` 59 | description: | 60 | MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system. 61 | --- 62 | -------------------------------------------------------------------------------- /modules/meilisearch/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Meilisearch 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://github.com/junghoon-vans/testcontainers-meilisearch 8 | maintainer: community 9 | example: | 10 | ```java 11 | var meilisearch = new MeilisearchContainer(DockerImageName.parse("getmeili/meilisearch:latest")) 12 | .withMasterKey("masterKey"); 13 | meilisearch.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | io.vanslog 19 | testcontainers-meilisearch 20 | 1.0.5 21 | test 22 | 23 | ``` 24 | - id: go 25 | url: https://golang.testcontainers.org/modules/etcd/ 26 | maintainer: core 27 | example: | 28 | ```go 29 | meiliContainer, err := meilisearch.Run(context.Background(), "getmeili/meilisearch:v1.10.3") 30 | ``` 31 | installation: | 32 | ```bash 33 | go get github.com/testcontainers/testcontainers-go/modules/meilisearch 34 | ``` 35 | description: | 36 | Meilisearch is a flexible and powerful user-focused search engine that can be added to any website or application. 37 | --- 38 | -------------------------------------------------------------------------------- /modules/meilisearch/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/memcached/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Memcached 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/memcached/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | memcachedContainer, err := memcached.Run(context.Background(), "memcached:1.6-alpine") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/memcached 16 | ``` 17 | - id: python 18 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/memcached/README.html 19 | maintainer: core 20 | example: | 21 | ```python 22 | with MemcachedContainer(image = "memcached:1.6-alpine") as memcached: 23 | host, port = memcached.get_host_and_port() 24 | ``` 25 | installation: | 26 | ```bash 27 | pip install testcontainers[memcached] 28 | ``` 29 | description: | 30 | Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. 31 | --- 32 | -------------------------------------------------------------------------------- /modules/memcached/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /modules/microcks/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Microcks 3 | categories: 4 | - cloud 5 | officialPartner: 6 | name: Microcks 7 | url: https://microcks.io/ 8 | docs: 9 | - id: java 10 | url: https://github.com/microcks/microcks-testcontainers-java 11 | maintainer: official 12 | example: | 13 | ```java 14 | var microcks = new MicrocksContainer(DockerImageName.parse("quay.io/microcks/microcks-uber:1.8.0")); 15 | microcks.start(); 16 | ``` 17 | installation: | 18 | ```xml 19 | 20 | io.github.microcks 21 | microcks-testcontainers 22 | 0.2.8 23 | test 24 | 25 | ``` 26 | - id: go 27 | url: https://github.com/microcks/microcks-testcontainers-go 28 | maintainer: official 29 | example: | 30 | ```go 31 | microcksContainer, err := microcks.RunContainer(context.Background(), testcontainers.WithImage("quay.io/microcks/microcks-uber:1.8.0")) 32 | ``` 33 | installation: | 34 | ```bash 35 | go get github.com/microcks/microcks-testcontainers-go 36 | ``` 37 | - id: nodejs 38 | url: https://github.com/microcks/microcks-testcontainers-node 39 | maintainer: official 40 | example: | 41 | ```javascript 42 | const microcks = await new MicrocksContainer().start(); 43 | ``` 44 | installation: | 45 | ```bash 46 | npm install @microcks/microcks-testcontainers --save-dev 47 | ``` 48 | - id: dotnet 49 | url: https://github.com/microcks/microcks-testcontainers-dotnet 50 | maintainer: official 51 | example: | 52 | ```csharp 53 | var microcks = new MicrocksBuilder().WithImage("quay.io/microcks/microcks-uber:1.8.0").Build(); 54 | await microcks.StartAsync(); 55 | ``` 56 | installation: | 57 | ```bash 58 | dotnet add package Microcks.Testcontainers 59 | `` 60 | description: | 61 | Microcks is an open-source cloud-native platform for mocking and contract-testing all kinds of APIs. It supports REST [OpenAPI](https://www.openapis.org/), [gRPC](https://grpc.io/), [GraphQL](https://graphql.org/), [Async APIs](https://www.asyncapi.com/) and SOAP WebServices. 62 | 63 | Microcks allows you to work in isolation by cutting dependencies; it can also be used for contract-testing the API you're developing. 64 | 65 | Read more on [Microcks.io](https://microcks.io). 66 | --- 67 | -------------------------------------------------------------------------------- /modules/milvus/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Milvus 3 | categories: 4 | - vector-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/milvus/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var milvus = new MilvusContainer("milvusdb/milvus:v2.3.9"); 12 | ``` 13 | installation: | 14 | ```xml 15 | 16 | org.testcontainers 17 | milvus 18 | 1.20.0 19 | test 20 | 21 | ``` 22 | - id: go 23 | url: https://golang.testcontainers.org/modules/milvus/ 24 | maintainer: core 25 | example: | 26 | ```go 27 | milvusContainer, err := milvus.Run(context.Background(), "milvusdb/milvus:v2.3.9") 28 | ``` 29 | installation: | 30 | ```bash 31 | go get github.com/testcontainers/testcontainers-go/modules/milvus 32 | ``` 33 | - id: dotnet 34 | url: https://www.nuget.org/packages/Testcontainers.Milvus 35 | maintainer: core 36 | example: | 37 | ```csharp 38 | var milvusContainer = new MilvusBuilder() 39 | .WithImage("milvusdb/milvus:v2.3.10") 40 | .Build(); 41 | await milvusContainer.StartAsync(); 42 | ``` 43 | installation: | 44 | ```bash 45 | dotnet add package Testcontainers.Milvus 46 | ``` 47 | - id: python 48 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/milvus/README.html 49 | maintainer: core 50 | example: | 51 | ```python 52 | with MilvusContainer("milvusdb/milvus:v2.4.4") as milvus_container: 53 | milvus_container.get_exposed_port(milvus_container.port) in milvus_container.get_connection_url() 54 | ``` 55 | installation: | 56 | ```bash 57 | pip install testcontainers[milvus] 58 | ``` 59 | description: | 60 | Milvus was created with a singular goal: store, index, and manage massive embedding vectors generated by deep neural networks and other machine learning (ML) models. 61 | --- 62 | -------------------------------------------------------------------------------- /modules/milvus/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/minio/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MinIO 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/minio/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var minio = new MinIOContainer("minio/minio:RELEASE.2023-09-04T19-57-37Z"); 12 | minio.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | minio 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/minio/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | minioContainer, err := minio.Run(context.Background(), "minio/minio:RELEASE.2024-01-16T16-07-38Z") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/minio 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.Minio 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var minioContainer = new MinioBuilder() 40 | .WithImage("minio/minio:RELEASE.2023-01-31T02-24-19Z") 41 | .Build(); 42 | await minioContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.Minio 47 | ``` 48 | - id: python 49 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/minio/README.html 50 | maintainer: core 51 | example: | 52 | ```python 53 | with MinioContainer() as minio: 54 | client = minio.get_client() 55 | ``` 56 | installation: | 57 | ```bash 58 | pip install testcontainers[minio] 59 | ``` 60 | - id: nodejs 61 | url: https://node.testcontainers.org/modules/minio/ 62 | maintainer: core 63 | example: | 64 | ```javascript 65 | const container = await new MinioContainer("minio/minio:RELEASE.2024-12-13T22-19-12Z").start(); 66 | ``` 67 | installation: | 68 | ```bash 69 | npm install @testcontainers/minio --save-dev 70 | ``` 71 | description: | 72 | MinIO is a high performance object storage solution. It is API compatible with the Amazon S3 cloud storage service and can handle unstructured data such as photos, videos, log files, backups, and container images with a current maximum supported object size of 5TB. 73 | --- 74 | -------------------------------------------------------------------------------- /modules/mockserver-neolight/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MockServer NeoLight 3 | categories: 4 | - web 5 | docs: 6 | - id: java 7 | url: https://github.com/xdev-software/mockserver-neolight 8 | maintainer: community 9 | example: | 10 | ```java 11 | # Version is discovered automatically 12 | var mockServer = new MockServerContainer(); 13 | mockServer.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | software.xdev.mockserver 19 | testcontainers 20 | 1.0.2 21 | test 22 | 23 | ``` 24 | description: | 25 | This is a lightweight rewrite of the abandoned MockServer - which allows you to mock any server or service via HTTP, such as a REST or RPC service - with focus on simplicity, maintainability and Testcontainers. 26 | --- 27 | -------------------------------------------------------------------------------- /modules/mockserver-neolight/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/mockserver/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Mockserver 3 | categories: 4 | - web 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/mockserver/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var mockServer = new MockServerContainer(DockerImageName 12 | .parse("mockserver/mockserver:5.15.0")); 13 | mockServer.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.testcontainers 19 | mockserver 20 | 1.20.0 21 | test 22 | 23 | ``` 24 | - id: go 25 | url: https://golang.testcontainers.org/modules/mockserver/ 26 | maintainer: core 27 | example: | 28 | ```go 29 | mockServerContainer, err := mockserver.Run(context.Background(), "mockserver/mockserver:5.15.0") 30 | ``` 31 | installation: | 32 | ```bash 33 | go get github.com/testcontainers/testcontainers-go/modules/mockserver 34 | ``` 35 | - id: nodejs 36 | url: https://node.testcontainers.org/modules/mockserver/ 37 | maintainer: core 38 | example: | 39 | ```javascript 40 | const container = await new MockserverContainer("mockserver/mockserver:5.15.0").start(); 41 | ``` 42 | installation: | 43 | ```bash 44 | npm install @testcontainers/mockserver --save-dev 45 | ``` 46 | description: | 47 | MockServer allows you to mock any server or service via HTTP or HTTPS, such as a REST or RPC service. 48 | --- 49 | -------------------------------------------------------------------------------- /modules/mongodb-atlas/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MongoDB Atlas 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/mongodb/#mongodbatlaslocalcontainer 8 | maintainer: core 9 | example: | 10 | ```java 11 | var container = new MongoDBAtlasLocalContainer(DockerImageName.parse("mongodb/mongodb-atlas-local:7.0.9")); 12 | container.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | mongodb 19 | 1.20.4 20 | test 21 | 22 | ``` 23 | description: | 24 | MongoDB Atlas Local offers features like Atlas Search and Atlas Vector Search. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/mongodb-atlas/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/mongodb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MongoDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/mongodb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:4.0.10")); 12 | mongoDBContainer.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | mongodb 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/mongodb/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | mongoDBContainer, err := mongodb.Run(context.Background(), "mongo:6") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/mongodb 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.MongoDb 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var mongoDbContainer = new MongoDbBuilder() 40 | .WithImage("mongo:6.0") 41 | .Build(); 42 | await mongoDbContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.MongoDb 47 | ``` 48 | - id: nodejs 49 | url: https://node.testcontainers.org/modules/mongodb/ 50 | maintainer: core 51 | example: | 52 | ```javascript 53 | const mongodbContainer = await new MongoDBContainer("mongo:6.0.1").start(); 54 | ``` 55 | installation: | 56 | ```bash 57 | npm install @testcontainers/mongodb --save-dev 58 | ``` 59 | - id: python 60 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/mongodb/README.html 61 | maintainer: core 62 | example: | 63 | ```python 64 | with MongoDbContainer("mongo:7.0.7") as mongo: 65 | db = mongo.get_connection_client() 66 | ``` 67 | installation: | 68 | ```bash 69 | pip install testcontainers[mongodb] 70 | ``` 71 | description: | 72 | MongoDB is a source-available cross-platform document-oriented database program. 73 | --- 74 | -------------------------------------------------------------------------------- /modules/mongodb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/mosquitto/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Mosquitto 3 | categories: 4 | - message-broker 5 | docs: 6 | - id: python 7 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/mqtt/README.html 8 | maintainer: core 9 | example: | 10 | ```python 11 | with MosquittoContainer(image = "eclipse-mosquitto:2.0.20") as mosquitto_broker: 12 | mqtt_client = mosquitto_broker.get_client() 13 | ``` 14 | installation: | 15 | ```bash 16 | pip install testcontainers[mqtt] 17 | ``` 18 | description: | 19 | Eclipse Mosquitto is an open source message broker which implements MQTT version 5, 3.1.1 and 3.1. 20 | --- 21 | -------------------------------------------------------------------------------- /modules/mysql/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: MySQL 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/mysql/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var mysql = new MySQLContainer<>(DockerImageName.parse("mysql:5.7.34")); 12 | mysql.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | mysql 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/mysql/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | mysqlContainer, err := mysql.Run(context.Background(), "mysql:5.7.34") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/mysql 33 | ``` 34 | - id: dotnet 35 | url: https://www.nuget.org/packages/Testcontainers.MySql 36 | maintainer: core 37 | example: | 38 | ```csharp 39 | var mySqlContainer = new MySqlBuilder() 40 | .WithImage("mysql:8.0") 41 | .Build(); 42 | await mySqlContainer.StartAsync(); 43 | ``` 44 | installation: | 45 | ```bash 46 | dotnet add package Testcontainers.MySql 47 | ``` 48 | - id: nodejs 49 | url: https://node.testcontainers.org/modules/mysql/ 50 | maintainer: core 51 | example: | 52 | ```javascript 53 | const container = await new MySqlContainer("mysql:8.0.31").start(); 54 | ``` 55 | installation: | 56 | ```bash 57 | npm install @testcontainers/mysql --save-dev 58 | ``` 59 | - id: python 60 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/mysql/README.html 61 | maintainer: core 62 | example: | 63 | ```python 64 | with MySqlContainer('mysql:5.7.17') as mysql: 65 | engine = sqlalchemy.create_engine(mysql.get_connection_url()) 66 | ``` 67 | installation: | 68 | ```bash 69 | pip install testcontainers[mysql] 70 | ``` 71 | description: | 72 | MySQL is an open-source relational database management system. 73 | --- 74 | -------------------------------------------------------------------------------- /modules/nats/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: NATS 3 | categories: 4 | - message-broker 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/nats/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | natsContainer, err := nats.Run(context.Background(), "nats:2.9") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/nats 16 | ``` 17 | - id: dotnet 18 | url: https://www.nuget.org/packages/Testcontainers.Nats 19 | maintainer: core 20 | example: | 21 | ```csharp 22 | var natsContainer = new NatsBuilder() 23 | .WithImage("nats:2.9") 24 | .Build(); 25 | await natsContainer.StartAsync(); 26 | ``` 27 | installation: | 28 | ```bash 29 | dotnet add package Testcontainers.Nats 30 | ``` 31 | - id: nodejs 32 | url: https://node.testcontainers.org/modules/nats/ 33 | maintainer: core 34 | example: | 35 | ```javascript 36 | const container = await new NatsContainer("nats:2.8.4-alpine").start(); 37 | ``` 38 | installation: | 39 | ```bash 40 | npm install @testcontainers/nats --save-dev 41 | ``` 42 | - id: python 43 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/nats/README.html 44 | maintainer: core 45 | example: | 46 | ```python 47 | with NatsContainer() as nats_container: 48 | client = await nats.connect(nats_container.nats_uri()) 49 | ``` 50 | installation: | 51 | ```bash 52 | pip install testcontainers[nats] 53 | ``` 54 | description: | 55 | NATS is an open-source messaging system that enables applications to securely communicate across any combination of cloud vendors, on-premise, edge, web and mobile, and devices. 56 | --- 57 | -------------------------------------------------------------------------------- /modules/nats/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /modules/neo4j/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/nginx/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Nginx 3 | categories: 4 | - web 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/nginx/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var nginx = new NginxContainer<>(DockerImageName.parse("nginx:1.23.4-alpine")); 12 | nginx.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | nginx 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: python 24 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/nginx/README.html 25 | maintainer: core 26 | example: | 27 | ```python 28 | with NginxContainer() as nginx: 29 | url = f"http://{nginx.get_container_host_ip()}:{nginx.get_exposed_port(nginx.port)}/" 30 | ``` 31 | installation: | 32 | ```bash 33 | pip install testcontainers[nginx] 34 | ``` 35 | description: | 36 | Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. 37 | --- 38 | -------------------------------------------------------------------------------- /modules/nginx/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/oceanbase/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: OceanBase 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/oceanbase/ 8 | maintainer: community 9 | example: | 10 | ```java 11 | OceanbaseCEContainer oceanbase = new OceanbaseCEContainer("oceanbase/oceanbase-ce:4.2.2"); 12 | oceanbase.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | oceanbase 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | description: | 24 | OceanBase is an open source unlimited scalable distributed database for data-intensive transactional and real-time operational analytics workloads, with ultra-fast performance that has once achieved world records in the TPC-C benchmark test. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/oceanbase/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/openfga/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: OpenFGA 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/openfga/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var openfga = new OpenFGAContainer("openfga/openfga:v1.4.3"); 12 | openfga.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | openfga 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/openfga/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | openfgaContainer, err := openfga.Run(context.Background(), "openfga/openfga:v1.5.0") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/openfga 33 | ``` 34 | description: | 35 | OpenFGA is an open-source authorization solution that allows developers to build granular access control using an easy-to-read modeling language and friendly APIs. 36 | --- 37 | -------------------------------------------------------------------------------- /modules/openldap/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: OpenLDAP 3 | categories: 4 | - other 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/openldap/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | openldapContainer, err := openldap.Run(context.Background(), "bitnami/openldap:2.6.6") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/openldap 16 | ``` 17 | description: | 18 | OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol (LDAP). 19 | --- 20 | -------------------------------------------------------------------------------- /modules/opensearch/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: OpenSearch 3 | categories: 4 | - nosql-database 5 | - vector-database 6 | docs: 7 | - id: java 8 | url: https://github.com/opensearch-project/opensearch-testcontainers 9 | maintainer: community 10 | example: | 11 | ```java 12 | var opensearch = new OpensearchContainer(DockerImageName.parse("opensearchproject/opensearch:2.0.0")); 13 | opensearch.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.opensearch 19 | opensearch-testcontainers 20 | 2.0.1 21 | test 22 | 23 | ``` 24 | - id: go 25 | url: https://golang.testcontainers.org/modules/opensearch/ 26 | maintainer: core 27 | example: | 28 | ```go 29 | opensearchContainer, err := opensearch.Run(context.Background(), "opensearchproject/opensearch:2.11.1") 30 | ``` 31 | installation: | 32 | ```bash 33 | go get github.com/opensearch-project/opensearch-testcontainers 34 | ``` 35 | - id: dotnet 36 | url: https://www.nuget.org/packages/Testcontainers.OpenSearch 37 | maintainer: core 38 | example: | 39 | ```csharp 40 | var openSearchContainer = new OpenSearchBuilder() 41 | .WithImage("opensearchproject/opensearch:2.12.0") 42 | .Build(); 43 | await openSearchContainer.StartAsync(); 44 | ``` 45 | installation: | 46 | ```bash 47 | dotnet add package Testcontainers.OpenSearch 48 | ``` 49 | - id: python 50 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/opensearch/README.html 51 | maintainer: core 52 | example: | 53 | ```python 54 | with OpenSearchContainer() as opensearch: 55 | client = opensearch.get_client() 56 | ``` 57 | installation: | 58 | ```bash 59 | pip install testcontainers[opensearch] 60 | ``` 61 | description: | 62 | OpenSearch is a scalable, flexible, and extensible open-source software suite for search, analytics, and observability applications licensed under Apache 2.0 and powered by Apache Lucene. 63 | --- 64 | -------------------------------------------------------------------------------- /modules/opensearch/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/oracle-free/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Oracle Free 3 | categories: 4 | - relational-database 5 | - vector-database 6 | docs: 7 | - id: java 8 | url: https://java.testcontainers.org/modules/databases/oraclefree/ 9 | maintainer: core 10 | example: | 11 | ```java 12 | var oracle = new OracleContainer("gvenzl/oracle-free:23.4-slim-faststart"); 13 | oracle.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.testcontainers 19 | oracle-free 20 | 1.20.0 21 | test 22 | 23 | ``` 24 | - id: python 25 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/oracle-free/README.html 26 | maintainer: core 27 | example: | 28 | ```python 29 | with OracleDbContainer() as oracle: 30 | engine = sqlalchemy.create_engine(oracle.get_connection_url()) 31 | ``` 32 | installation: | 33 | ```bash 34 | pip install testcontainers[oracle-free] 35 | ``` 36 | description: | 37 | Oracle Database Free is a free edition of the world's leading database specifically designed for anybody to develop, learn, and run on Oracle Database for free. 38 | --- 39 | -------------------------------------------------------------------------------- /modules/oracle-xe/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Oracle-XE 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/oraclexe/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var oracle = new OracleContainer(DockerImageName.parse("gvenzl/oracle-xe:21-slim-faststart")); 12 | oracle.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | oracle-xe 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: dotnet 24 | url: https://www.nuget.org/packages/Testcontainers.Oracle 25 | maintainer: core 26 | example: | 27 | ```csharp 28 | var oracleContainer = new OracleBuilder() 29 | .WithImage("gvenzl/oracle-xe:21.3.0-slim-faststart") 30 | .Build(); 31 | await oracleContainer.StartAsync(); 32 | ``` 33 | installation: | 34 | ```bash 35 | dotnet add package Testcontainers.Oracle 36 | ``` 37 | description: | 38 | Oracle Database Express Edition is a free, smaller-footprint edition of Oracle Database. 39 | --- 40 | -------------------------------------------------------------------------------- /modules/oracle-xe/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /modules/orientdb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: OrientDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/orientdb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var orient = new OrientDBContainer(DockerImageName.parse("orientdb:3.2.0-tp3")); 12 | orient.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | orientdb 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | description: | 24 | OrientDB is an open source NoSQL database management system. It is a Multi-model database, supporting graph, document, key/value, and object models, but the relationships are managed as in graph databases with direct connections between records. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/oxia/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Oxia 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://github.com/streamnative/oxia-java/tree/main/testcontainers 8 | maintainer: community 9 | example: | 10 | ```java 11 | var oxia = new OxiaContainer("streamnative/oxia:0.3"); 12 | oxia.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | io.streamnative.oxia 18 | oxia-testcontainers 19 | 0.0.14 20 | test 21 | 22 | ``` 23 | description: | 24 | Oxia is a scalable metadata store and coordination system that can be used as the core infrastructure to build large-scale distributed systems. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/oxia/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/papercut/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Papercut SMTP 3 | categories: 4 | - other 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.Papercut 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var papercutContainer = new PapercutBuilder() 12 | .WithImage("changemakerstudiosus/papercut-smtp:latest") 13 | .Build(); 14 | await papercutContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.Papercut 19 | ``` 20 | description: | 21 | Papercut SMTP is a 2-in-1 quick email viewer AND built-in SMTP server (designed to receive messages only). Papercut SMTP doesn't enforce any restrictions on how you prepare your email, but it allows you to view the whole email-chilada: body, HTML, headers, and attachment right down to the naughty raw encoded bits. Papercut can be configured to run on startup and sit quietly (minimized in the tray) only providing a notification when a new message has arrived. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/permify/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Permify 3 | categories: 4 | - other 5 | docs: 6 | - id: go 7 | url: https://github.com/theoriginalstove/testcontainers-permify 8 | maintainer: community 9 | example: | 10 | ```go 11 | container, err := permifytest.Run(context.Background()) 12 | if err != nil { 13 | return err 14 | } 15 | ``` 16 | installation: | 17 | ```bash 18 | go get -u github.com/theoriginalstove/testcontainers-permify 19 | ``` 20 | description: | 21 | Permify is an open-source authorization service for creating fine-grained and scalable authorization systems. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/pgvector/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: pgvector 3 | categories: 4 | - vector-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/postgres/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var image = DockerImageName.parse("pgvector/pgvector:pg16") 12 | .asCompatibleSubstituteFor("postgres"); 13 | var pgVector = new PostgreSQLContainer<>(image); 14 | pgVector.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | postgresql 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | - id: go 26 | url: https://golang.testcontainers.org/modules/postgres/ 27 | maintainer: core 28 | example: | 29 | ```go 30 | pgVectorContainer, err := postgres.Run(context.Background(), 31 | "pgvector/pgvector:pg16", 32 | postgres.WithDatabase("test"), 33 | postgres.WithUsername("user"), 34 | postgres.WithPassword("password"), 35 | ) 36 | ``` 37 | installation: | 38 | ```bash 39 | go get github.com/testcontainers/testcontainers-go/modules/postgres 40 | ``` 41 | - id: dotnet 42 | url: https://www.nuget.org/packages/Testcontainers.PostgreSql 43 | maintainer: core 44 | example: | 45 | ```csharp 46 | var pgVectorContainer = new PostgreSqlBuilder() 47 | .WithImage("pgvector/pgvector:pg16") 48 | .Build(); 49 | await pgVectorContainer.StartAsync(); 50 | ``` 51 | installation: | 52 | ```bash 53 | dotnet add package Testcontainers.PostgreSql 54 | ``` 55 | - id: nodejs 56 | url: https://node.testcontainers.org/modules/postgresql/ 57 | maintainer: core 58 | example: | 59 | ```javascript 60 | const container = await new PostgreSqlContainer("pgvector/pgvector:pg16").start(); 61 | ``` 62 | installation: | 63 | ```bash 64 | npm install @testcontainers/postgresql --save-dev 65 | ``` 66 | description: | 67 | pgvector, open-source vector similarity search for Postgres. 68 | --- 69 | -------------------------------------------------------------------------------- /modules/pinecone/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Pinecone 3 | categories: 4 | - vector-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/pinecone/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var container = new PineconeLocalContainer(DockerImageName.parse("ghcr.io/pinecone-io/pinecone-local:v0.7.0")); 12 | container.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | pinecone 19 | 1.20.5 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/pinecone/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | pineconeContainer, err := pinecone.Run(context.Background(), "ghcr.io/pinecone-io/pinecone-local:v0.7.0") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/pinecone 33 | ``` 34 | description: | 35 | Pinecone Local is an in-memory Pinecone Database emulator available as a Docker image. Pinecone is the leading AI infrastructure for building accurate, secure, and scalable AI applications. Use Pinecone Database to store and search vector data at scale. 36 | --- 37 | -------------------------------------------------------------------------------- /modules/pinecone/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/playwright/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Playwright 3 | categories: 4 | - web 5 | docs: 6 | - id: nodejs 7 | url: https://github.com/javierlopezdeancos/testcontainers-node-playwright 8 | maintainer: community 9 | example: | 10 | ```javascript 11 | import path from "path"; 12 | import { PlaywrightContainer } from "testcontainers-node-playwright"; 13 | 14 | const PLAYWRIGHT_PROJECT_TESTS_TO_RUN_INTO_THE_CONTAINER = path.resolve(__dirname, "..", "example-project"); 15 | 16 | const startedPlaywrightContainer = await new PlaywrightContainer( 17 | "mcr.microsoft.com/playwright:v1.44.0-jammy", 18 | PLAYWRIGHT_PROJECT_TESTS_TO_RUN_INTO_THE_CONTAINER, 19 | ).start(); 20 | 21 | const { output, exitCode } = await startedPlaywrightContainer.exec(["npx", "playwright", "test"]); 22 | ``` 23 | description: | 24 | Playwright enables reliable end-to-end testing for modern web apps. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/postgis/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: PostGIS 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/postgres/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var image = DockerImageName.parse("postgis/postgis:12-3.0") 12 | .asCompatibleSubstituteFor("postgres"); 13 | var postgis = new PostgreSQLContainer<>(image); 14 | postgis.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | postgresql 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | - id: go 26 | url: https://golang.testcontainers.org/modules/postgres/ 27 | maintainer: core 28 | example: | 29 | ```go 30 | postgisContainer, err := postgres.Run(context.Background(), 31 | "postgis/postgis:12-3.0", 32 | postgres.WithDatabase("test"), 33 | postgres.WithUsername("user"), 34 | postgres.WithPassword("password"), 35 | ) 36 | ``` 37 | installation: | 38 | ```bash 39 | go get github.com/testcontainers/testcontainers-go/modules/postgres 40 | ``` 41 | - id: dotnet 42 | url: https://www.nuget.org/packages/Testcontainers.PostgreSql 43 | maintainer: core 44 | example: | 45 | ```csharp 46 | var postgisContainer = new PostgreSqlBuilder() 47 | .WithImage("postgis/postgis:12-3.0") 48 | .Build(); 49 | await postgisContainer.StartAsync(); 50 | ``` 51 | installation: | 52 | ```bash 53 | dotnet add package Testcontainers.PostgreSql 54 | ``` 55 | - id: nodejs 56 | url: https://node.testcontainers.org/modules/postgresql/ 57 | maintainer: core 58 | example: | 59 | ```javascript 60 | const container = await new PostgreSqlContainer("postgis/postgis:12-3.0").start(); 61 | ``` 62 | installation: | 63 | ```bash 64 | npm install @testcontainers/postgresql --save-dev 65 | ``` 66 | description: | 67 | PostGIS extends the capabilities of the PostgreSQL relational database by adding support for storing, indexing, and querying geospatial data. 68 | --- 69 | -------------------------------------------------------------------------------- /modules/presto/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Presto 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/presto/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var presto = new PrestoContainer(DockerImageName.parse("ghcr.io/trinodb/presto:344")); 12 | presto.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | presto 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | description: | 24 | Presto is a distributed query engine for big data using the SQL query language. Its architecture allows users to query data sources such as Hadoop, Cassandra, Kafka, AWS S3, Alluxio, MySQL, MongoDB and Teradata, and allows use of multiple data sources within a query. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/pulsar/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Pulsar 3 | categories: 4 | - message-broker 5 | officialPartner: 6 | name: StreamNative 7 | url: https://streamnative.io/ 8 | docs: 9 | - id: java 10 | url: https://java.testcontainers.org/modules/pulsar/ 11 | maintainer: official 12 | example: | 13 | ```java 14 | var pulsar = new PulsarContainer(DockerImageName.parse("apachepulsar/pulsar:2.10.0")); 15 | pulsar.start(); 16 | ``` 17 | installation: | 18 | ```xml 19 | 20 | org.testcontainers 21 | pulsar 22 | 1.20.0 23 | test 24 | 25 | ``` 26 | - id: go 27 | url: https://golang.testcontainers.org/modules/pulsar/ 28 | maintainer: official 29 | example: | 30 | ```go 31 | pulsarContainer, err := pulsar.Run(context.Background(), 32 | "apachepulsar/pulsar:2.10.0", 33 | pulsar.WithPulsarEnv("brokerDeduplicationEnabled", "true"), 34 | pulsar.WithFunctionsWorker(), 35 | pulsar.WithTransactions(), 36 | ) 37 | ``` 38 | installation: | 39 | ```bash 40 | go get github.com/testcontainers/testcontainers-go/modules/pulsar 41 | ``` 42 | - id: dotnet 43 | url: https://www.nuget.org/packages/Testcontainers.Pulsar 44 | maintainer: core 45 | example: | 46 | ```csharp 47 | var pulsarContainer = new PulsarBuilder() 48 | .WithImage("apachepulsar/pulsar:2.10.0") 49 | .Build(); 50 | await pulsarContainer.StartAsync(); 51 | ``` 52 | installation: | 53 | ```bash 54 | dotnet add package Testcontainers.Pulsar 55 | ``` 56 | description: | 57 | Apache Pulsar is an open-source, distributed messaging and streaming platform. Messages can be consumed and acknowledged individually or consumed as streams with less than 5ms of latency. 58 | --- 59 | -------------------------------------------------------------------------------- /modules/pulsar/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/qdrant/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /modules/questdb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: QuestDB 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/questdb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var questdb = new QuestDBContainer(DockerImageName.parse("questdb/questdb:6.5.3")); 12 | questdb.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | questdb 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | description: | 24 | QuestDB is an open-source time-series database for high throughput ingestion and fast SQL queries with operational simplicity. It supports schema-agnostic ingestion using the InfluxDB line protocol, PostgreSQL wire protocol, and a REST API for bulk imports and exports. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/questdb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /modules/ravendb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: RavenDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.RavenDb 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var ravenDbContainer = new RavenDbBuilder() 12 | .WithImage("ravendb/ravendb:5.4-ubuntu-latest") 13 | .Build(); 14 | await ravenDbContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.RavenDb 19 | ``` 20 | description: | 21 | RavenDB is an open-source NoSQL database software designed to help businesses streamline multi-document ACID transactions and facilitate extract, transform, and load (ETL) operations. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/ravendb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /modules/redpanda/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/restate/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Restate 3 | categories: 4 | - other 5 | docs: 6 | - id: nodejs 7 | url: https://github.com/restatedev/sdk-typescript/tree/main/packages/restate-sdk-testcontainers 8 | maintainer: community 9 | example: | 10 | ```javascript 11 | import { RestateTestEnvironment } from "@restatedev/restate-sdk-testcontainers"; 12 | import * as clients from "@restatedev/restate-sdk-clients"; 13 | 14 | restateTestEnvironment = await RestateTestEnvironment.start( 15 | (restateServer) => restateServer.bind(counter) 16 | ); 17 | rs = clients.connect({ url: restateTestEnvironment.baseUrl() }); 18 | ``` 19 | description: | 20 | Restate is the simplest way to write resilient workflows, event-driven applications, and async tasks. 21 | --- 22 | -------------------------------------------------------------------------------- /modules/restate/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/scylladb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: ScyllaDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/scylladb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var container = new ScyllaDBContainer(DockerImageName.parse("scylladb/scylla:6.2")); 12 | container.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | scylladb 19 | 1.20.5 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/scylladb/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | container, err := scylla.Run(context.Background(), "scylladb/scylla:6.2"); 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/scylla 33 | ``` 34 | - id: python 35 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/scylla/README.html 36 | maintainer: core 37 | example: | 38 | ```python 39 | with ScyllaContainer(image = "scylladb/scylla:6.2") as scylla: 40 | cluster = scylla.get_cluster() 41 | ``` 42 | installation: | 43 | ```bash 44 | pip install testcontainers[scylla] 45 | ``` 46 | - id: nodejs 47 | url: https://node.testcontainers.org/modules/scylladb/ 48 | maintainer: core 49 | example: | 50 | ```javascript 51 | const container = await new ScyllaContainer("scylladb/scylla:6.2.0").start(); 52 | ``` 53 | installation: | 54 | ```bash 55 | npm install @testcontainers/scylladb --save-dev 56 | ``` 57 | description: | 58 | ScyllaDB is a distributed NoSQL wide-column database for data-intensive apps that require high performance and low latency. 59 | --- 60 | -------------------------------------------------------------------------------- /modules/selenium/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Selenium 3 | categories: 4 | - web 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/webdriver_containers/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var chrome = new BrowserWebDriverContainer<>() 12 | withCapabilities(new ChromeOptions()) 13 | chrome.start(); 14 | ``` 15 | installation: | 16 | ```xml 17 | 18 | org.testcontainers 19 | selenium 20 | 1.20.0 21 | test 22 | 23 | ``` 24 | - id: dotnet 25 | url: https://www.nuget.org/packages/Testcontainers.WebDriver 26 | maintainer: core 27 | example: | 28 | ```csharp 29 | var WebDriverContainer = new WebDriverBuilder() 30 | .WithBrowser(WebDriverBrowser.Chrome) 31 | .Build(); 32 | await WebDriverContainer.StartAsync(); 33 | ``` 34 | installation: | 35 | ```bash 36 | dotnet add package Testcontainers.WebDriver 37 | ``` 38 | - id: nodejs 39 | url: https://node.testcontainers.org/modules/selenium/ 40 | maintainer: core 41 | example: | 42 | ```javascript 43 | const container = await new SeleniumContainer("selenium/standalone-chrome:112.0").start(); 44 | ``` 45 | installation: | 46 | ```bash 47 | npm install @testcontainers/selenium --save-dev 48 | ``` 49 | - id: python 50 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/selenium/README.html 51 | maintainer: core 52 | example: | 53 | ```python 54 | with BrowserWebDriverContainer(DesiredCapabilities.CHROME) as chrome: 55 | webdriver = chrome.get_driver() 56 | ``` 57 | installation: | 58 | ```bash 59 | pip install testcontainers[selenium] 60 | ``` 61 | description: | 62 | Selenium is an umbrella project encapsulating a variety of tools and libraries enabling web browser automation. Selenium specifically provides an infrastructure for the W3C WebDriver specification — a platform and language-neutral coding interface compatible with all major web browsers. 63 | --- 64 | -------------------------------------------------------------------------------- /modules/sftp/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SFTP 3 | categories: 4 | - other 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.Sftp 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var sftpContainer = new SftpBuilder() 12 | .WithImage("atmoz/sftp:alpine") 13 | .Build(); 14 | await sftpContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.Sftp 19 | ``` 20 | description: | 21 | Easy to use SFTP (SSH File Transfer Protocol) server with OpenSSH. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/smoker/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Smocker 3 | categories: 4 | - web 5 | docs: 6 | - id: go 7 | url: https://github.com/jespino/testcontainers-go-smocker 8 | maintainer: community 9 | example: | 10 | ```go 11 | container, err := smocker.RunContainer(context.Background(), testcontainers.WithImage("thiht/smocker:0.18.5")); 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/jespino/testcontainers-go-smocker 16 | ``` 17 | description: | 18 | Smocker is a simple and efficient HTTP mock server. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/solace/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Solace PubSub+ 3 | categories: 4 | - message-broker 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/solace/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var solaceContainer = new SolaceContainer(DockerImageName.parse("solace/solace-pubsub-standard:10.2")); 12 | solace.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | solace 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | description: | 24 | Solace PubSub+ is an event streaming, management and monitoring platform that gives you everything you need to design, deploy and manage an event-driven system. Stream events across hybrid, multi-cloud and IoT environments, quickly, reliably and securely. Manage your entire events ecosystem. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/solace/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/solr/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Solr 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/solr/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var solr = new SolrContainer(DockerImageName.parse("solr:8.3.0")); 12 | solr.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | solr 19 | 1.20.0 20 | test 21 | 22 | description: | 23 | Solr is an open-source enterprise-search platform that features full-text search, hit highlighting, faceted search, real-time indexing, dynamic clustering, database integration, NoSQL features and rich document handling. 24 | --- 25 | -------------------------------------------------------------------------------- /modules/solr/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/spicedb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SpiceDB 3 | categories: 4 | - other 5 | docs: 6 | - id: go 7 | url: https://github.com/Mariscal6/testcontainers-spicedb-go 8 | maintainer: community 9 | example: | 10 | ```go 11 | spiceDBContainer, err := spicedb.Run(context.Background(), "authzed/spicedb:v1.33.0") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/Mariscal6/testcontainers-spicedb-go 16 | ``` 17 | description: | 18 | SpiceDB is a graph database purpose-built for storing and evaluating access control data. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/spicedb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/sqledge/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Azure SQL Edge 3 | categories: 4 | - cloud 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.SqlEdge 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | var sqlEdgeContainer = new SqlEdgeBuilder() 12 | .WithImage("mcr.microsoft.com/azure-sql-edge:1.0.7") 13 | .Build(); 14 | await sqlEdgeContainer.StartAsync(); 15 | ``` 16 | installation: | 17 | ```bash 18 | dotnet add package Testcontainers.SqlEdge 19 | ``` 20 | description: | 21 | Azure SQL Edge is an Internet of Things (IoT) database for edge computing which combines capabilities such as data streaming and time series with built-in machine learning and graph features. 22 | --- 23 | -------------------------------------------------------------------------------- /modules/surrealdb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: SurrealDB 3 | categories: 4 | - nosql-database 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/surrealdb/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | surrealdbContainer, err := surrealdb.Run(context.Background(), "surrealdb/surrealdb:v1.1.1") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/surrealdb 16 | ``` 17 | - id: rust 18 | url: https://github.com/testcontainers/testcontainers-rs-modules-community/tree/main/src/surrealdb 19 | maintainer: community 20 | example: | 21 | ```rust 22 | use testcontainers_modules::{surrealdb::SurrealDb, testcontainers::runners::AsyncRunner}; 23 | let surrealdb_container = SurrealDb::default().start().await.unwrap(); 24 | ``` 25 | installation: | 26 | ```bash 27 | cargo add -F surrealdb --dev testcontainers-modules 28 | ``` 29 | description: | 30 | SurrealDB is an end-to-end cloud-native database designed for modern applications, including web, mobile, serverless, Jamstack, backend, and traditional applications. 31 | 32 | With SurrealDB, you can simplify your database and API infrastructure, reduce development time, and build secure, performant apps quickly and cost-effectively. 33 | 34 | Read more on [SurrealDB Website](https://surrealdb.com). 35 | --- 36 | -------------------------------------------------------------------------------- /modules/surrealdb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /modules/synthesized/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Synthesized 3 | categories: 4 | - relational-database 5 | - other 6 | officialPartner: 7 | name: Synthesized 8 | url: https://synthesized.io 9 | docs: 10 | - id: java 11 | url: https://docs.synthesized.io/tdk/latest/user_guide/integrations/testcontainers 12 | maintainer: official 13 | example: | 14 | ```java 15 | //Input JdbcDatabaseContainer: empty database with schema input 16 | PostgreSQLContainer input = new PostgreSQLContainer<>("postgres:15-alpine") 17 | .withNetwork(network); 18 | 19 | //Output JdbcDatabaseContainer: output database with generated data output 20 | PostgreSQLContainer output = new PostgreSQLContainer<>("postgres:15-alpine") 21 | .withNetwork(network); 22 | 23 | String config = """ 24 | default_config: 25 | mode: GENERATION 26 | target_row_number: 10 27 | global_seed: 42 28 | """ 29 | 30 | new SynthesizedTDK(SynthesizedTDK.DEFAULT_IMAGE_NAME) 31 | .transform(input, output, config); 32 | ``` 33 | installation: | 34 | ```xml 35 | 36 | io.synthesized 37 | tdk-tc 38 | 1.05 39 | test 40 | 41 | ``` 42 | description: | 43 | Synthesized Test Data Kit (TDK) is a DevOps’ best friend for database masking and generation. Forget about 44 | hacky masking and seeding scripts that can easily leak PII or produce inaccurate results. You can plug it 45 | in into your CI/CD pipeline or use it as a command-line tool. 46 | --- 47 | -------------------------------------------------------------------------------- /modules/synthesized/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/tidb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: TiDB 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/tidb/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var tidb = new TiDBContainer(DockerImageName.parse("pingcap/tidb:v6.1.0")); 12 | tidb.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | tidb 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | description: | 24 | TiDB is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing workloads. It is MySQL compatible and can provide horizontal scalability, strong consistency, and high availability. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/tidb/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/tigerbeetle/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: TigerBeetle 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: go 7 | url: https://github.com/mkadirtan/testcontainers-tigerbeetle-go 8 | maintainer: community 9 | installation: | 10 | ```bash 11 | go get -u github.com/mkadirtan/testcontainers-tigerbeetle-go@latest 12 | ``` 13 | example: | 14 | ```go 15 | tbContainer, err := tigerbeetle.Run(context.Background(), "ghcr.io/tigerbeetle/tigerbeetle:0.16.12") 16 | ``` 17 | description: | 18 | TigerBeetle is a distributed financial accounting database designed for mission critical safety and performance. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/tigerbeetle/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /modules/timeplus/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Timeplus 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/timeplus/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var timeplus = new TimeplusContainer(DockerImageName.parse("timeplus/timeplusd:2.3.21")); 12 | timeplus.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | timeplus 19 | 1.20.2 20 | test 21 | 22 | ``` 23 | description: | 24 | Timeplus is a simple, powerful, and cost-efficient stream processing platform. 25 | --- 26 | -------------------------------------------------------------------------------- /modules/timescale/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Timescale 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/postgres/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var image = DockerImageName.parse("timescale/timescaledb:2.1.0-pg11") 12 | .asCompatibleSubstituteFor("postgres"); 13 | var timescale = new PostgreSQLContainer<>(image); 14 | timescale.start(); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | postgresql 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | - id: go 26 | url: https://golang.testcontainers.org/modules/postgres/ 27 | maintainer: core 28 | example: | 29 | ```go 30 | timescaleContainer, err := postgres.Run(context.Background(), 31 | "timescale/timescaledb:2.1.0-pg11", 32 | postgres.WithDatabase("test"), 33 | postgres.WithUsername("user"), 34 | postgres.WithPassword("password"), 35 | ) 36 | ``` 37 | installation: | 38 | ```bash 39 | go get github.com/testcontainers/testcontainers-go/modules/postgres 40 | ``` 41 | - id: dotnet 42 | url: https://www.nuget.org/packages/Testcontainers.PostgreSql 43 | maintainer: core 44 | example: | 45 | ```csharp 46 | var timescaleContainer = new PostgreSqlBuilder() 47 | .WithImage("timescale/timescaledb:2.1.0-pg11") 48 | .Build(); 49 | await timescaleContainer.StartAsync(); 50 | ``` 51 | installation: | 52 | ```bash 53 | dotnet add package Testcontainers.PostgreSql 54 | ``` 55 | - id: nodejs 56 | url: https://node.testcontainers.org/modules/postgresql/ 57 | maintainer: core 58 | example: | 59 | ```javascript 60 | const container = await new PostgreSqlContainer("timescale/timescaledb:2.1.0-pg11").start(); 61 | ``` 62 | installation: | 63 | ```bash 64 | npm install @testcontainers/postgresql --save-dev 65 | ``` 66 | description: | 67 | An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension. 68 | --- 69 | -------------------------------------------------------------------------------- /modules/timescale/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/toxiproxy/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Toxiproxy 3 | categories: 4 | - web 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/toxiproxy/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var toxiproxy = new ToxiproxyContainer(DockerImageName.parse("ghcr.io/shopify/toxiproxy:2.12.0")); 12 | toxiproxy.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | toxiproxy 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/toxiproxy/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | toxiproxyContainer, err := toxiproxy.Run(context.Background(), "ghcr.io/shopify/toxiproxy:2.12.0") 29 | ``` 30 | installation: | 31 | ```bash 32 | go get github.com/testcontainers/testcontainers-go/modules/toxiproxy 33 | ``` 34 | - id: nodejs 35 | url: https://node.testcontainers.org/modules/toxiproxy/ 36 | maintainer: core 37 | example: | 38 | ```javascript 39 | const container = await new ToxiProxyContainer("ghcr.io/shopify/toxiproxy:2.12.0").start(); 40 | ``` 41 | installation: | 42 | ```bash 43 | npm install @testcontainers/toxiproxy --save-dev 44 | ``` 45 | description: | 46 | Toxiproxy is a framework for simulating network conditions. It's made specifically to work in testing, CI and development environments, supporting deterministic tampering with connections, but with support for randomized chaos and customization. 47 | --- 48 | -------------------------------------------------------------------------------- /modules/trino/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Trino 3 | categories: 4 | - relational-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/trino/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var trino = new TrinoContainer(DockerImageName.parse("trinodb/trino:352")); 12 | trino.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | trino 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: python 24 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/trino/README.html 25 | maintainer: core 26 | example: | 27 | ```python 28 | with TrinoContainer("trinodb/trino:451") as trino: 29 | conn = connect( 30 | host=trino.get_container_host_ip(), 31 | port=trino.get_exposed_port(trino.port), 32 | user="test", 33 | ) 34 | ``` 35 | installation: | 36 | ```bash 37 | pip install testcontainers[trino] 38 | ``` 39 | description: | 40 | Trino is an open-source distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. 41 | --- 42 | -------------------------------------------------------------------------------- /modules/typesense/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Typesense 3 | categories: 4 | - vector-database 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/databases/typesense/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var typesense = new TypesenseContainer(DockerImageName.parse("typesense/typesense:27.1")); 12 | typesense.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | typesense 19 | 1.20.3 20 | test 21 | 22 | ``` 23 | - id: dotnet 24 | url: https://www.nuget.org/packages/Testcontainers.Typesense 25 | maintainer: core 26 | example: | 27 | ```csharp 28 | var typesenseContainer = new TypesenseBuilder() 29 | .WithImage("typesense/typesense:28.0") 30 | .Build(); 31 | await typesenseContainer.StartAsync(); 32 | ``` 33 | installation: | 34 | ```bash 35 | dotnet add package Testcontainers.Typesense 36 | ``` 37 | description: | 38 | Typesense is a modern, blazing-fast, developer-friendly, open source search engine. 39 | --- 40 | -------------------------------------------------------------------------------- /modules/typesense/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/valkey/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Valkey 3 | categories: 4 | - nosql-database 5 | - vector-database 6 | docs: 7 | - id: go 8 | url: https://golang.testcontainers.org/modules/valkey/ 9 | maintainer: core 10 | example: | 11 | ```go 12 | valkeyContainer, err := valkey.Run(context.Background(), "docker.io/valkey/valkey:7.2.5") 13 | ``` 14 | installation: | 15 | ```bash 16 | go get github.com/testcontainers/testcontainers-go/modules/valkey 17 | ``` 18 | - id: nodejs 19 | url: https://node.testcontainers.org/modules/valkey/ 20 | maintainer: core 21 | example: | 22 | ```javascript 23 | const container = await new ValkeyContainer("valkey/valkey:8.0").start(); 24 | ``` 25 | installation: | 26 | ```bash 27 | npm install @testcontainers/valkey --save-dev 28 | ``` 29 | description: | 30 | Valkey is an open source (BSD) high-performance key/value datastore that supports a variety of workloads such as caching, message queues, and can act as a primary database. Valkey can run as either a standalone daemon or in a cluster, with options for replication and high availability. 31 | --- 32 | -------------------------------------------------------------------------------- /modules/valkey/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/vault/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Vault 3 | categories: 4 | - other 5 | docs: 6 | - id: java 7 | url: https://java.testcontainers.org/modules/vault/ 8 | maintainer: core 9 | example: | 10 | ```java 11 | var vault = new VaultContainer<>(DockerImageName.parse("hashicorp/vault:1.13.0")); 12 | vault.start(); 13 | ``` 14 | installation: | 15 | ```xml 16 | 17 | org.testcontainers 18 | vault 19 | 1.20.0 20 | test 21 | 22 | ``` 23 | - id: go 24 | url: https://golang.testcontainers.org/modules/vault/ 25 | maintainer: core 26 | example: | 27 | ```go 28 | vaultContainer, err := vault.Run(context.Background(), 29 | "hashicorp/vault:1.13.0", 30 | vault.WithToken("root-token"), 31 | vault.WithInitCommand("secrets enable transit", "write -f transit/keys/my-key"), 32 | vault.WithInitCommand("kv put secret/test1 foo1=bar1"), 33 | ) 34 | ``` 35 | installation: | 36 | ```bash 37 | go get github.com/testcontainers/testcontainers-go/modules/vault 38 | ``` 39 | - id: python 40 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/vault/README.html 41 | maintainer: core 42 | example: | 43 | ```python 44 | with VaultContainer("hashicorp/vault:1.16.1") as vault_container: 45 | connection_url = vault_container.get_connection_url() 46 | client = hvac.Client(url=connection_url, token=vault_container.root_token) 47 | ``` 48 | installation: | 49 | ```bash 50 | pip install testcontainers[vault] 51 | ``` 52 | description: | 53 | HashiCorp Vault is an identity-based secrets and encryption management system for storing API encryption keys, passwords, and certificates. 54 | --- 55 | -------------------------------------------------------------------------------- /modules/vault/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /modules/vearch/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Vearch 3 | categories: 4 | - vector-database 5 | docs: 6 | - id: go 7 | url: https://golang.testcontainers.org/modules/vearch/ 8 | maintainer: core 9 | example: | 10 | ```go 11 | vearchContainer, err := vearch.Run(context.Background(), "vearch/vearch:3.5.1") 12 | ``` 13 | installation: | 14 | ```bash 15 | go get github.com/testcontainers/testcontainers-go/modules/vearch 16 | ``` 17 | description: | 18 | Vearch is a cloud-native distributed vector database for efficient similarity search of embedding vectors in your AI applications. 19 | --- 20 | -------------------------------------------------------------------------------- /modules/weaviate/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Weaviate 3 | categories: 4 | - vector-database 5 | officialPartner: 6 | name: Weaviate 7 | url: https://weaviate.io/ 8 | docs: 9 | - id: java 10 | url: https://java.testcontainers.org/modules/weaviate/ 11 | maintainer: core 12 | example: | 13 | ```java 14 | var weaviate = new WeaviateContainer("semitechnologies/weaviate:1.25.5"); 15 | ``` 16 | installation: | 17 | ```xml 18 | 19 | org.testcontainers 20 | weaviate 21 | 1.20.0 22 | test 23 | 24 | ``` 25 | - id: go 26 | url: https://golang.testcontainers.org/modules/weaviate/ 27 | maintainer: core 28 | example: | 29 | ```go 30 | weaviateContainer, err := weaviate.Run(context.Background(), "semitechnologies/weaviate:1.25.5") 31 | ``` 32 | installation: | 33 | ```bash 34 | go get github.com/testcontainers/testcontainers-go/modules/weaviate 35 | ``` 36 | - id: dotnet 37 | url: https://www.nuget.org/packages/Testcontainers.Weaviate 38 | maintainer: core 39 | example: | 40 | ```csharp 41 | var weaviateContainer = new WeaviateBuilder() 42 | .WithImage("semitechnologies/weaviate:1.26.14") 43 | .Build(); 44 | await weaviateContainer.StartAsync(); 45 | ``` 46 | installation: | 47 | ```bash 48 | dotnet add package Testcontainers.Weaviate 49 | ``` 50 | - id: nodejs 51 | url: https://node.testcontainers.org/modules/weaviate/ 52 | maintainer: core 53 | example: | 54 | ```javascript 55 | const container = await new WeaviateContainer("semitechnologies/weaviate:1.24.5").start(); 56 | ``` 57 | installation: | 58 | ```bash 59 | npm install @testcontainers/weaviate --save-dev 60 | ``` 61 | - id: python 62 | url: https://testcontainers-python.readthedocs.io/en/latest/modules/weaviate/README.html 63 | maintainer: core 64 | example: | 65 | ```python 66 | with WeaviateContainer() as container: 67 | with container.get_client() as client: 68 | client.is_live() 69 | ``` 70 | installation: | 71 | ```bash 72 | pip install testcontainers[weaviate] 73 | ``` 74 | description: | 75 | Weaviate is an open source, AI-native vector database that helps developers create intuitive and reliable AI-powered applications. 76 | --- 77 | -------------------------------------------------------------------------------- /modules/wiremock/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /modules/wiremock/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/testcontainers/community-module-registry/4367fb1df32e0b3de63c37d642c2d9a05cdb8d59/modules/wiremock/share.png -------------------------------------------------------------------------------- /modules/xunit/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Xunit 3 | categories: 4 | - test-framework 5 | docs: 6 | - id: dotnet 7 | url: https://www.nuget.org/packages/Testcontainers.Xunit 8 | maintainer: core 9 | example: | 10 | ```csharp 11 | // Inherit from either the `ContainerTest` or `ContainerFixture` class, set up your 12 | // container instance in `Configure(TContainerBuilder)`, and access the running 13 | // container in your test method using the `Container` property. The module handles 14 | // creating, starting, and disposing of the container instances in the background. 15 | 16 | public sealed partial class RedisContainerTest(ITestOutputHelper testOutputHelper) 17 | : ContainerTest(testOutputHelper) 18 | { 19 | protected override RedisBuilder Configure(RedisBuilder builder) 20 | { 21 | return builder.WithImage("redis:7.0"); 22 | } 23 | 24 | [Fact] 25 | public async Task Test1() 26 | { 27 | _ = Container.GetConnectionString(); 28 | } 29 | } 30 | ``` 31 | installation: | 32 | ```bash 33 | dotnet add package Testcontainers.Xunit 34 | ``` 35 | description: | 36 | The Testcontainers.Xunit package simplifies writing tests with containers in xUnit.net. By leveraging xUnit.net's shared context, this package automates the setup and teardown of test resources, creating and disposing of containers as needed. This reduces repetitive code and avoids common patterns that developers would otherwise need to implement repeatedly. 37 | 38 | You can read full example and docs here: https://dotnet.testcontainers.org/test_frameworks/xunit_net/. 39 | --- 40 | -------------------------------------------------------------------------------- /modules/xunit/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /modules/yugabytedb/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: YugabyteDB 3 | categories: 4 | - relational-database 5 | officialPartner: 6 | name: Yugabyte 7 | url: https://www.yugabyte.com/ 8 | docs: 9 | - id: java 10 | url: https://java.testcontainers.org/modules/databases/yugabytedb/ 11 | maintainer: official 12 | example: | 13 | ```java 14 | var yugabyte = new YugabyteDBYSQLContainer(DockerImageName.parse("yugabytedb/yugabyte:2.14.4.0-b26")); 15 | yugabyte.start(); 16 | ``` 17 | installation: | 18 | ```xml 19 | 20 | org.testcontainers 21 | yugabytedb 22 | 1.20.0 23 | test 24 | 25 | ``` 26 | - id: go 27 | url: https://golang.testcontainers.org/modules/yugabytedb/ 28 | maintainer: core 29 | example: | 30 | ```go 31 | yugabytedbContainer, err := yugabytedb.Run(context.Background(), "yugabytedb/yugabyte:2024.1.3.0-b105") 32 | ``` 33 | installation: | 34 | ```bash 35 | go get github.com/testcontainers/testcontainers-go/modules/yugabytedb 36 | ``` 37 | description: | 38 | YugabyteDB is a high-performance transactional distributed SQL database for cloud-native applications. 39 | --- 40 | --------------------------------------------------------------------------------