# Starts the SpeedTest using IRIS Community. # # This is good because it doesn't require an IRIS license to run. # # This is bad because IRIS Community has two important limitations: # - Max of 5 connections: So we won't be able to use a high number of threads # - Max Database size of 10Gb: So we won't be able to let the speed test run for too long # # But this configuration is good for development. version: '3.7' services: htapui: depends_on: - htapmaster container_name: htapui hostname: htapui image: intersystemsdc/irisdemo-demo-htap:ui-version-2.8.5 ports: - "10000:4200" # Where Node Will be listening postgres: image: postgres:18 hostname: postgres init: true container_name: postgres command: - postgres - -c - max_parallel_workers_per_gather=0 - -c - max_parallel_workers=0 environment: - POSTGRES_USER=postgresuser - POSTGRES_PASSWORD=postgrespass ports: - 5432:5432 htapmaster: depends_on: - postgres container_name: htapmaster hostname: htapmaster init: true image: intersystemsdc/irisdemo-demo-htap:master-version-2.8.5 ports: - "10002:8080" # Where Springboot Will be listening healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/master/test || exit 1"] interval: 5s timeout: 3s retries: 20 start_period: 30s environment: - MASTER_SPEEDTEST_TITLE=SpeedTest | PostgreSQL 18 - START_CONSUMERS=true - INGESTION_THREADS_PER_WORKER=2 - INGESTION_BATCH_SIZE=1000 - INGESTION_JDBC_URL=jdbc:postgresql://postgres:5432/ - INGESTION_JDBC_USERNAME=postgresuser - INGESTION_JDBC_PASSWORD=postgrespass - CONSUMER_JDBC_URL=jdbc:postgresql://postgres:5432/ - CONSUMER_JDBC_USERNAME=postgresuser - CONSUMER_JDBC_PASSWORD=postgrespass - CONSUMER_THREADS_PER_WORKER=1 - CONSUMER_TIME_BETWEEN_QUERIES_IN_MILLIS=0 - DATABASE_SIZE_IN_GB=1 ingest-worker1: depends_on: htapmaster: condition: service_healthy container_name: ingest-worker1 hostname: ingest-worker1 init: true restart: on-failure:3 image: intersystemsdc/irisdemo-demo-htap:postgres-jdbc-ingest-worker-version-2.8.5 ports: - "10003:8080" # Where Springboot Will be listening environment: - MASTER_HOSTNAME=htapmaster - MASTER_PORT=8080 query-worker1: depends_on: htapmaster: condition: service_healthy container_name: query-worker1 hostname: query-worker1 init: true restart: on-failure:3 image: intersystemsdc/irisdemo-demo-htap:postgres-jdbc-query-worker-version-2.8.5 ports: - "10004:8080" # Where Springboot Will be listening environment: - MASTER_HOSTNAME=htapmaster - MASTER_PORT=8080