version: '3.6' services: postgres: image: postgres environment: - POSTGRES_USER=conductor - POSTGRES_PASSWORD=conductor volumes: - pg_db_data:/var/lib/postgresql/data networks: - conductor-network healthcheck: test: timeout 5 bash -c 'cat < /dev/null > /dev/tcp/localhost/5432' interval: 5s timeout: 5s retries: 12 deploy: mode: replicated replicas: 1 restart_policy: condition: any delay: 5s window: 120s placement: constraints: [node.role == worker] logging: driver: "journald" es: image: elasticsearch:7.6.2 environment: - "ES_JAVA_OPTS=-Xms512m -Xmx1024m" - transport.host=0.0.0.0 - discovery.type=single-node - xpack.security.enabled=false networks: - conductor-network healthcheck: test: timeout 5 bash -c 'cat < /dev/null > /dev/tcp/localhost/9300' interval: 5s timeout: 5s retries: 12 deploy: mode: replicated replicas: 1 restart_policy: condition: any delay: 5s window: 120s placement: constraints: [node.role == worker] logging: driver: "journald" conductor-server: environment: - CONFIG_PROP=config.properties image: "nubisware/conductor-server3:dev" networks: - conductor-network deploy: mode: replicated replicas: 1 restart_policy: condition: any delay: 5s window: 120s placement: constraints: [node.role == worker] logging: driver: "journald" pep: image: "nubisware/conductor-frontend:dev" networks: - conductor-network - haproxy-public deploy: mode: replicated endpoint_mode: dnsrr replicas: 1 restart_policy: condition: any delay: 5s window: 120s placement: constraints: [node.role == worker] environment: pep_credentials: ${pep_credentials} workers: environment: CONDUCTOR_SERVER: http://conductor-server:8080/api/ CONDUCTOR_HEALTH: http://conductor-server:8080/health worker_plugins: "Shell Eval Mail HttpBridge" smtp_pass: ${smtp_pass} image: 'nubisware/nubisware-conductor-worker-py-d4s' networks: - conductor-network deploy: mode: replicated replicas: 2 restart_policy: condition: any delay: 5s window: 120s logging: driver: "journald" pyrestworkers: environment: CONDUCTOR_SERVER: http://conductor-server:8080/api/ CONDUCTOR_HEALTH: http://conductor-server:8080/health worker_plugins: Http image: 'nubisware/nubisware-conductor-worker-py-d4s' networks: - conductor-network deploy: mode: replicated replicas: 2 restart_policy: condition: any delay: 5s window: 120s logging: driver: "journald" networks: conductor-network: haproxy-public: external: true volumes: pg_db_data: driver: local driver_opts: type: nfs4 o: "nfsvers=4,addr=146.48.123.250,rw" device: ":/nfs/conductor_pg_dev"