28f0b9e5ebc945ff9715ff4e9a5bc16f8c858f65
[buildbot.git] / docker / docker-compose.yml
1 version: '2'
2
3 services:
4 rsync-server:
5 build:
6 context: ../
7 dockerfile: docker/rsync/Dockerfile
8 image: rsync:latest
9 restart: always
10 cpuset: '0'
11 environment:
12 SHARE_USER: upload
13 SHARE_PASSWORD: secret
14 volumes:
15 - './build/output:/data'
16
17 buildmaster-phase1:
18 build:
19 context: ../
20 dockerfile: docker/buildmaster/Dockerfile
21 image: buildmaster:latest
22 restart: always
23 cpuset: '0'
24 environment:
25 BUILDMASTER_PHASE: 1
26 BUILDMASTER_CONFIG: /config.ini
27 ports:
28 - '8010:8010'
29 - '9989:9989'
30 volumes:
31 - './config.ini:/config.ini'
32 - './certs/buildmaster-phase1.crt:/certs/master.crt'
33 - './certs/buildmaster-phase1.key:/certs/master.key'
34 - './build/master-phase1:/master'
35
36 buildmaster-phase2:
37 build:
38 context: ../
39 dockerfile: docker/buildmaster/Dockerfile
40 image: buildmaster:latest
41 restart: always
42 cpuset: '0'
43 environment:
44 BUILDMASTER_PHASE: 2
45 BUILDMASTER_CONFIG: /config.ini
46 ports:
47 - '8011:8011'
48 - '9990:9990'
49 volumes:
50 - './config.ini:/config.ini'
51 - './certs/buildmaster-phase2.crt:/certs/master.crt'
52 - './certs/buildmaster-phase2.key:/certs/master.key'
53 - './build/master-phase2:/master'
54
55 buildslave-phase1:
56 build:
57 context: ../
58 dockerfile: docker/buildslave/Dockerfile
59 image: buildslave:latest
60 restart: always
61 cpuset: 1-3
62 environment:
63 BUILDSLAVE_MASTER: buildmaster-phase1:9989
64 BUILDSLAVE_NAME: buildslave-phase1
65 BUILDSLAVE_PASSWORD: secret
66 BUILDSLAVE_TLS: '1'
67 links:
68 - 'rsync-server'
69 - 'buildmaster-phase1'
70 volumes:
71 - './certs/ca.crt:/certs/ca.pem'
72 - './build/slave-phase1:/builder'
73
74 buildslave-phase2:
75 build:
76 context: ../
77 dockerfile: docker/buildslave/Dockerfile
78 image: buildslave:latest
79 restart: always
80 cpuset: 1-3
81 environment:
82 BUILDSLAVE_MASTER: buildmaster-phase2:9990
83 BUILDSLAVE_NAME: buildslave-phase2
84 BUILDSLAVE_PASSWORD: secret
85 BUILDSLAVE_TLS: '1'
86 links:
87 - 'rsync-server'
88 - 'buildmaster-phase2'
89 volumes:
90 - './certs/ca.crt:/certs/ca.pem'
91 - './build/slave-phase2:/builder'