| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- # This contains the services required to develop and test Vendure
- # locally. It includes multiple SQL databases (for testing specific
- # versions), Elasticsearch, Redis etc.
- version: '3.7'
- name: vendure-monorepo
- services:
- mariadb:
- image: 'bitnami/mariadb:latest'
- container_name: mariadb
- environment:
- MARIADB_DATABASE: vendure-dev
- MARIADB_ROOT_USER: vendure
- MARIADB_ROOT_PASSWORD: password
- volumes:
- - 'mariadb_data:/bitnami'
- ports:
- - '3306:3306'
- mysql_8:
- image: bitnami/mysql:8.0
- container_name: mysql-8
- environment:
- MYSQL_AUTHENTICATION_PLUGIN: mysql_native_password
- MYSQL_DATABASE: vendure-dev
- MYSQL_ROOT_USER: vendure
- MYSQL_ROOT_PASSWORD: password
- volumes:
- - 'mysql_data:/bitnami'
- ports:
- - '3306:3306'
- mysql_5:
- image: bitnami/mysql:5.7
- container_name: mysql-5.7
- environment:
- MYSQL_AUTHENTICATION_PLUGIN: mysql_native_password
- MYSQL_DATABASE: vendure-dev
- MYSQL_ROOT_USER: vendure
- MYSQL_ROOT_PASSWORD: password
- volumes:
- - 'mysql_data:/bitnami'
- ports:
- - '3306:3306'
- postgres_12:
- image: postgres:12.3
- container_name: postgres_12
- environment:
- POSTGRES_DB: vendure-dev
- POSTGRES_USER: vendure
- POSTGRES_PASSWORD: password
- PGDATA: /var/lib/postgresql/data
- volumes:
- - postgres_12_data:/var/lib/postgresql/data
- ports:
- - '5432:5432'
- command: postgres -c shared_preload_libraries=pg_stat_statements -c pg_stat_statements.track=all -c pg_stat_statements.max=100000 -c max_connections=200
- postgres_16:
- image: postgres:16
- container_name: postgres_16
- environment:
- POSTGRES_DB: vendure-dev
- POSTGRES_USER: vendure
- POSTGRES_PASSWORD: password
- PGDATA: /var/lib/postgresql/data
- volumes:
- - postgres_16_data:/var/lib/postgresql/data
- ports:
- - '5432:5432'
- command: postgres -c shared_preload_libraries=pg_stat_statements -c pg_stat_statements.track=all -c pg_stat_statements.max=100000 -c max_connections=200
- # This is the Keycloak service which is used
- # to test the Keycloak auth strategy
- keycloak:
- image: quay.io/keycloak/keycloak
- ports:
- - '9000:8080'
- environment:
- KEYCLOAK_ADMIN: admin
- KEYCLOAK_ADMIN_PASSWORD: admin
- command:
- - start-dev
- - --import-realm
- volumes:
- - keycloak_data:/opt/keycloak/data
- elasticsearch:
- image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
- container_name: elasticsearch
- environment:
- - discovery.type=single-node
- - bootstrap.memory_lock=true
- - 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
- ulimits:
- memlock:
- soft: -1
- hard: -1
- volumes:
- - esdata:/usr/share/elasticsearch/data
- ports:
- - 9200:9200
- redis:
- image: redis:7.2-alpine
- hostname: redis
- environment:
- - ALLOW_EMPTY_PASSWORD=yes
- ports:
- - '6379:6379'
- volumes:
- postgres_16_data:
- driver: local
- postgres_12_data:
- driver: local
- mariadb_data:
- driver: local
- mysql_data:
- driver: local
- keycloak_data:
- driver: local
- esdata:
- driver: local
|