services: conductor-server: environment: - CONFIG_PROP=config-redis-es8.properties - JAVA_OPTS=-Dpolyglot.engine.WarnInterpreterOnly=false - conductor.app.ownerEmailMandatory=false image: conductor:server container_name: conductor-server build: context: ../ dockerfile: docker/server/Dockerfile args: YARN_OPTS: ${YARN_OPTS} INDEXING_BACKEND: elasticsearch8 networks: - internal ports: - 8000:8080 - 8127:5000 volumes: # Shared with host so file:// URIs from the server resolve on the e2e runner. - /tmp/conductor-file-storage-e2e:/tmp/conductor-file-storage-e2e healthcheck: test: ["CMD", "curl","-I" ,"-XGET", "http://localhost:8080/health"] interval: 60s timeout: 30s retries: 12 links: - conductor-elasticsearch:es - conductor-redis:rs depends_on: conductor-elasticsearch: condition: service_healthy conductor-redis: condition: service_healthy logging: driver: "json-file" options: max-size: "1k" max-file: "3" conductor-redis: image: redis:6.2.3-alpine volumes: - ../server/config/redis.conf:/usr/local/etc/redis/redis.conf networks: - internal healthcheck: test: [ "CMD", "redis-cli","ping" ] conductor-elasticsearch: # Keep ES image aligned with elasticsearch-java client version (8.19.11). image: docker.elastic.co/elasticsearch/elasticsearch:8.19.11 environment: - "ES_JAVA_OPTS=-Xms512m -Xmx1024m" - xpack.security.enabled=false - discovery.type=single-node volumes: - esdata-conductor:/usr/share/elasticsearch/data networks: - internal healthcheck: test: curl http://localhost:9200/_cluster/health -o /dev/null interval: 5s timeout: 5s retries: 12 logging: driver: "json-file" options: max-size: "1k" max-file: "3" volumes: esdata-conductor: driver: local networks: internal: