# INFORMATION # We are not exposing the default ports for the services in this file. # This is to avoid conflicts with existing services on your machine. # In case you don't have any services running on the default ports, you can expose them by changing the # ports section in the services block. Please don't forget to update the ports in the .env file as well. services: postgres_db: image: postgres:16-alpine volumes: - postgres_db_data:/var/lib/postgresql/data ports: - "6543:5432" environment: POSTGRES_DB: {{{ escapeSingle dbName }}} POSTGRES_USER: {{{ escapeSingle dbUserName }}} POSTGRES_PASSWORD: {{{ escapeSingle dbPassword }}} labels: - "io.vendure.create.name={{{ escapeSingle name }}}" mysql_db: image: mysql:8 volumes: - mysql_db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: 'ROOT' MYSQL_DATABASE: {{{ escapeSingle dbName }}} MYSQL_USER: {{{ escapeSingle dbUserName }}} MYSQL_PASSWORD: {{{ escapeSingle dbPassword }}} ports: - "4306:3306" labels: - "io.vendure.create.name={{{ escapeSingle name }}}" mariadb_db: image: mariadb:10 volumes: - mariadb_db_data:/var/lib/mysql environment: MARIADB_ROOT_PASSWORD: 'ROOT' MARIADB_DATABASE: {{{ escapeSingle dbName }}} MARIADB_USER: {{{ escapeSingle dbUserName }}} MARIADB_PASSWORD: {{{ escapeSingle dbPassword }}} ports: - "3306:3306" labels: - "io.vendure.create.name={{{ escapeSingle name }}}" # RECOMMENDED (especially for production) # Want to use our BullMQ with Redis instead of our default database job queue? # Checkout our BullMQ plugin: https://docs.vendure.io/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-plugin/ redis: image: redis:7-alpine ports: - "6479:6379" volumes: - redis_data:/data labels: - "io.vendure.create.name={{{ escapeSingle name }}}" # RECOMMENDED # Want to use Typesense instead of our default search engine? # Checkout our advanced search plugin: https://vendure.io/hub/vendure-plus-advanced-search-plugin # To run the typesense container run "docker compose up -d typesense" typesense: image: typesense/typesense:27.0 command: [ '--data-dir', '/data', '--api-key', 'SuperSecret' ] ports: - "8208:8108" volumes: - typesense_data:/data labels: - "io.vendure.create.name={{{ escapeSingle name }}}" # Want to use Elasticsearch instead of our default database engine? # Checkout our Elasticsearch plugin: https://docs.vendure.io/reference/core-plugins/elasticsearch-plugin/ # To run the elasticsearch container run "docker compose up -d elasticsearch" elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1 environment: discovery.type: single-node bootstrap.memory_lock: true ES_JAVA_OPTS: -Xms512m -Xmx512m volumes: - elasticsearch_data:/usr/share/elasticsearch/data ports: - "9300:9200" labels: - "io.vendure.create.name={{{ escapeSingle name }}}" volumes: postgres_db_data: driver: local labels: - "io.vendure.create.name={{{ escapeSingle name }}}" mysql_db_data: driver: local labels: - "io.vendure.create.name={{{ escapeSingle name }}}" mariadb_db_data: driver: local labels: - "io.vendure.create.name={{{ escapeSingle name }}}" typesense_data: driver: local labels: - "io.vendure.create.name={{{ escapeSingle name }}}" elasticsearch_data: driver: local labels: - "io.vendure.create.name={{{ escapeSingle name }}}" redis_data: driver: local labels: - "io.vendure.create.name={{{ escapeSingle name }}}"