services: # mysql mysql-5: image: "mysql:5.7.44" container_name: "typeorm-mysql-5" ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: "admin" MYSQL_USER: "test" MYSQL_PASSWORD: "test" MYSQL_DATABASE: "test" mysql-9: image: "mysql:9.4.0" container_name: "typeorm-mysql-9" ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: "admin" MYSQL_USER: "test" MYSQL_PASSWORD: "test" MYSQL_DATABASE: "test" # mariadb mariadb-10: image: "mariadb:10.6.22-jammy" container_name: "typeorm-mariadb-10" ports: - "3307:3306" environment: MYSQL_ROOT_PASSWORD: "admin" MYSQL_USER: "test" MYSQL_PASSWORD: "test" MYSQL_DATABASE: "test" mariadb-12: image: "mariadb:12.0.1-rc" container_name: "typeorm-mariadb-12" ports: - "3307:3306" environment: MYSQL_ROOT_PASSWORD: "admin" MYSQL_USER: "test" MYSQL_PASSWORD: "test" MYSQL_DATABASE: "test" # postgres postgres-14: # postgis is postgres + PostGIS (only). If you need additional extensions, # it's probably time to create a purpose-built image. image: "postgis/postgis:14-3.5" container_name: "typeorm-postgres-14" ports: - "5432:5432" environment: POSTGRES_USER: "test" POSTGRES_PASSWORD: "test" POSTGRES_DB: "test" # postgres postgres-17: # postgis is postgres + PostGIS (only). If you need additional extensions, # it's probably time to create a purpose-built image. image: "postgis/postgis:17-3.5" container_name: "typeorm-postgres-17" ports: - "5432:5432" environment: POSTGRES_USER: "test" POSTGRES_PASSWORD: "test" POSTGRES_DB: "test" # mssql mssql: image: "mcr.microsoft.com/mssql/server:2022-latest" container_name: "typeorm-mssql" ports: - "1433:1433" environment: SA_PASSWORD: "Admin12345" ACCEPT_EULA: "Y" # cockroachdb cockroachdb: image: "cockroachdb/cockroach:v24.3.8" container_name: "typeorm-cockroachdb" command: "start-single-node --insecure --cache=.25 --store=type=mem,size=.25" ports: - "26257:26257" # volumes: # - cockroach-data:/cockroach/cockroach-data # oracle oracle: image: "container-registry.oracle.com/database/free:23.7.0.0-lite" container_name: "typeorm-oracle" ports: - "1521:1521" environment: ORACLE_PWD: "oracle" ORACLE_SID: "FREE" volumes: # - oracle-data:/opt/oracle/oradata - ./docker/oracle/startup:/opt/oracle/scripts/startup:ro # google cloud spanner spanner: image: alexmesser/spanner-emulator container_name: "typeorm-spanner" ports: - "9010:9010" - "9020:9020" # sap hana # works only on linux, minimum 10GB RAM for docker required hanaexpress: image: "saplabs/hanaexpress:2.00.076.00.20240701.1" container_name: "typeorm-hanaexpress" hostname: hxe command: [ "--passwords-url", "file:////hana/hxe-config.json", "--agree-to-sap-license", ] ulimits: nofile: 1048576 sysctls: - kernel.shmall=3145728 # System-wide limit of total shared memory, in 4k pages - kernel.shmmax=1073741824 # Maximum shared memory segment sizes - kernel.shmmni=4096 # Maximum number of shared memory segments - net.ipv4.ip_local_port_range=40000 60999 volumes: - volume-hana-xe:/hana/mounts - ./docker/hana/hxe-config.json:/hana/hxe-config.json:ro ports: - "39041:39041" healthcheck: test: "/hana/shared/HXE/exe/linuxx86_64/hdb/hdbsql -n localhost:39041 -u SYSTEM -p HXEHana1 \"\\s\"" interval: 5s # mongodb mongodb: image: "mongo:5.0.31" container_name: "typeorm-mongodb" ports: - "27017:27017" # redis # redis: # image: "redis:3.0.3" # container_name: "typeorm-redis" # ports: # - "6379:6379" volumes: # cockroach-data: # oracle-data: volume-hana-xe: