version: '2' services: rsync-server: build: context: ../ dockerfile: docker/rsync/Dockerfile image: rsync:latest restart: always cpuset: '0' environment: SHARE_USER: upload SHARE_PASSWORD: secret volumes: - './build/output:/data' buildmaster-phase1: build: context: ../ dockerfile: docker/buildmaster/Dockerfile image: buildmaster:latest restart: always cpuset: '0' environment: BUILDMASTER_PHASE: 1 BUILDMASTER_CONFIG: /config.ini ports: - '8010:8010' - '9989:9989' volumes: - './config.ini:/config.ini' - './certs/buildmaster-phase1.crt:/certs/master.crt' - './certs/buildmaster-phase1.key:/certs/master.key' - './build/master-phase1:/master' buildmaster-phase2: build: context: ../ dockerfile: docker/buildmaster/Dockerfile image: buildmaster:latest restart: always cpuset: '0' environment: BUILDMASTER_PHASE: 2 BUILDMASTER_CONFIG: /config.ini ports: - '8011:8011' - '9990:9990' volumes: - './config.ini:/config.ini' - './certs/buildmaster-phase2.crt:/certs/master.crt' - './certs/buildmaster-phase2.key:/certs/master.key' - './build/master-phase2:/master' buildworker-phase1: build: context: ../ dockerfile: docker/buildworker/Dockerfile image: buildworker:latest restart: always cpuset: 1-3 environment: BUILDWORKER_MASTER: buildmaster-phase1:9989 BUILDWORKER_NAME: buildworker-phase1 BUILDWORKER_PASSWORD: secret BUILDWORKER_TLS: '1' links: - 'rsync-server' - 'buildmaster-phase1' volumes: - './certs/ca.crt:/certs/ca.pem' - './build/worker-phase1:/builder' buildworker-phase2: build: context: ../ dockerfile: docker/buildworker/Dockerfile image: buildworker:latest restart: always cpuset: 1-3 environment: BUILDWORKER_MASTER: buildmaster-phase2:9990 BUILDWORKER_NAME: buildworker-phase2 BUILDWORKER_PASSWORD: secret BUILDWORKER_TLS: '1' links: - 'rsync-server' - 'buildmaster-phase2' volumes: - './certs/ca.crt:/certs/ca.pem' - './build/worker-phase2:/builder'