version: '3.6' services: postgres: image: postgres environment: - POSTGRES_USER=conductor - POSTGRES_PASSWORD=conductor volumes: - pg_db_data:/var/lib/postgresql 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:latest" networks: - conductor-network deploy: mode: replicated replicas: 1 restart_policy: condition: any delay: 5s window: 120s placement: constraints: [node.role == worker] configs: - source: conductor-server-config target: /app/config/config.properties logging: driver: "journald" pep: image: "nubisware/conductor-frontend" networks: - conductor-network - haproxy-public configs: - source: nginx-config target: /etc/nginx/nginx.conf - source: nginx-default-config target: /etc/nginx/conf.d/default.conf - source: nginx-pep target: /etc/nginx/pep.js - source: nginx-pep-config target: /etc/nginx/config.js 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} base: environment: CONDUCTOR_SERVER: http://conductor-server:8080/api/ CONDUCTOR_HEALTH: http://conductor-server:8080/health configs: - source: base-worker-config target: /app/config.cfg image: 'nubisware/nubisware-conductor-worker-py-base' networks: - conductor-network deploy: mode: replicated replicas: 2 restart_policy: condition: any delay: 5s window: 120s placement: constraints: [node.role == worker] 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" configs: conductor-server-config: file: ./config/config-pg-es7.properties nginx-config: file: ./config/nginx/nginx.conf nginx-default-config: file: ./config/nginx/conf.d/default.conf nginx-pep: file: ./config/nginx/pep.js nginx-pep-config: file: ./config/nginx/config.js base-worker-config: file: ./config/base-workers.cfg