docker-compose.yml
Rama master · réplica de lectura del repositorio original.
# This contains the services required to develop and test Vendure
# locally. It includes multiple SQL databases (for testing specific
# versions), Elasticsearch, Redis etc.
name: vendure-monorepo
services:
mariadb:
image: 'mariadb:latest'
container_name: mariadb
environment:
MARIADB_DATABASE: vendure-dev
MARIADB_USER: vendure
MARIADB_PASSWORD: password
MARIADB_ROOT_PASSWORD: password
volumes:
- 'mariadb_data:/var/lib/mysql'
ports:
- '3306:3306'
mysql_8:
image: mysql:8.0
container_name: mysql-8
environment:
MYSQL_DATABASE: vendure-dev
MYSQL_USER: vendure
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
volumes:
- 'mysql_data:/var/lib/mysql'
ports:
- '3306:3306'
mysql_5:
image: mysql:5.7
container_name: mysql-5.7
environment:
MYSQL_DATABASE: vendure-dev
MYSQL_USER: vendure
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
volumes:
- 'mysql_data:/var/lib/mysql'
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:9.1.0
container_name: elasticsearch
environment:
- node.name=es
- cluster.name=es-docker-cluster
- xpack.security.enabled=false
- xpack.security.http.ssl.enabled=false
- xpack.security.transport.ssl.enabled=false
- xpack.license.self_generated.type=basic
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
mem_limit: 536870912
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata:/usr/share/elasticsearch/data
ports:
- 9200:9200
redis:
image: redis:7.2-alpine
hostname: redis
environment: []
ports:
- '6379:6379'
jaeger:
image: jaegertracing/all-in-one:latest
container_name: jaeger
ports:
- '4318:4318' # OTLP HTTP receiver
- '16686:16686' # Web UI
environment:
- COLLECTOR_OTLP_ENABLED=true
volumes:
- jaeger_data:/badger
loki:
image: grafana/loki:3.4
ports:
- '3100:3100'
networks:
- loki
grafana:
environment:
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_FEATURE_TOGGLES_ENABLE=alertingSimplifiedRouting,alertingQueryAndExpressionsStepMode
image: grafana/grafana:latest
ports:
- '3200:3000'
volumes:
- grafana-storage:/var/lib/grafana
networks:
- loki
networks:
loki:
driver: bridge
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
jaeger_data:
driver: local
grafana-storage:
driver: local