version: '2.3' services: conductor-server: environment: - CONFIG_PROP=config-redis.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} networks: - internal ports: - 8000:8080 - 8127:5000 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: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.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: