creed 0.0.0

Extensible Database Abstraction Layer for SQL databases
Documentation
version: "3"

services:
  #
  # MySQL 8.x, 5.7.x, 5.6.x
  # https://www.mysql.com/support/supportedplatforms/database.html
  #

  mysql_8:
    image: mysql:8.0
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_HOST: '%'
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  mysql_5_7:
    image: mysql:5.7
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_HOST: '%'
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  mysql_5_6:
    image: mysql:5.6
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_HOST: '%'
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  #
  # MariaDB 10.6, 10.5, 10.4, 10.3, 10.2
  # https://mariadb.org/about/#maintenance-policy
  #

  mariadb_10_6:
    image: mariadb:10.6
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  mariadb_10_5:
    image: mariadb:10.5
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  mariadb_10_4:
    image: mariadb:10.4
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  mariadb_10_3:
    image: mariadb:10.3
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  mariadb_10_2:
    image: mariadb:10.2
    volumes:
      - "./tests/mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
    ports:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: dbal

  #
  # PostgreSQL 13.x, 12.x, 11.x 10.x, 9.6.x
  # https://www.postgresql.org/support/versioning/
  #

  postgres_14:
    build:
      context: .
      dockerfile: tests/postgres/Dockerfile
      args:
        VERSION: 14
    ports:
      - 5432
    environment:
      POSTGRES_DB: dbal
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST_AUTH_METHOD: scram-sha-256
      POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
    volumes:
      - "./tests/postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
#    command: >
#      -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key

  postgres_13:
    build:
      context: .
      dockerfile: tests/postgres/Dockerfile
      args:
        VERSION: 13
    ports:
      - 5432
    environment:
      POSTGRES_DB: dbal
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST_AUTH_METHOD: scram-sha-256
      POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
    volumes:
      - "./tests/postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
#    command: >
#      -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key

  postgres_12:
    build:
      context: .
      dockerfile: tests/postgres/Dockerfile
      args:
        VERSION: 12
    ports:
      - 5432
    environment:
      POSTGRES_DB: dbal
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST_AUTH_METHOD: scram-sha-256
      POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
    volumes:
      - "./tests/postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
#    command: >
#      -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key

  postgres_11:
    build:
      context: .
      dockerfile: tests/postgres/Dockerfile
      args:
        VERSION: 11
    ports:
      - 5432
    environment:
      POSTGRES_DB: dbal
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST_AUTH_METHOD: scram-sha-256
      POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
    volumes:
      - "./tests/postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
#    command: >
#      -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key

  postgres_10:
    build:
      context: .
      dockerfile: tests/postgres/Dockerfile
      args:
        VERSION: 10
    ports:
      - 5432
    environment:
      POSTGRES_DB: dbal
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST_AUTH_METHOD: scram-sha-256
      POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
    volumes:
      - "./tests/postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
#    command: >
#      -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key

  postgres_9_6:
    build:
      context: .
      dockerfile: tests/postgres/Dockerfile
      args:
        VERSION: 9.6
    ports:
      - 5432
    environment:
      POSTGRES_DB: dbal
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST_AUTH_METHOD: md5
    volumes:
      - "./tests/postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql"
#    command: >
#      -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key

  #
  # Microsoft SQL Server (MSSQL)
  # https://hub.docker.com/_/microsoft-mssql-server
  #
#
#  mssql_2019:
#    build:
#      context: .
#      dockerfile: mssql/Dockerfile
#      args:
#        VERSION: 2019-latest
#    ports:
#      - 1433
#    environment:
#      ACCEPT_EULA: "Y"
#      SA_PASSWORD: Password123!
#
#  mssql_2017:
#    build:
#      context: .
#      dockerfile: mssql/mssql-2017.dockerfile
#      args:
#        VERSION: 2017-latest
#    ports:
#      - 1433
#    environment:
#      ACCEPT_EULA: "Y"
#      SA_PASSWORD: Password123!

  #
  # IBM Db2
  # https://hub.docker.com/r/ibmcom/db2
  #
#
#  db2_11:
#    image: ibmcom/db2:11.5.1.0-CN1
#    privileged: true
#    environment:
#      LICENSE: accept
#      DB2INST1_PASSWORD: password
#      DBNAME: dbal