-
Notifications
You must be signed in to change notification settings - Fork 69
/
Copy pathdocker-compose.yml
126 lines (117 loc) · 3.29 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
version: '3'
services:
frontend:
image: ghcr.io/buildbarn/bb-storage:20240108T141908Z-1ba9ed4
command:
- /config/frontend.jsonnet
expose:
- 9980
ports:
- 8980:8980
volumes:
- ./config:/config
storage-0:
image: ghcr.io/buildbarn/bb-storage:20240108T141908Z-1ba9ed4
command:
- /config/storage.jsonnet
expose:
- 8981
- 9980
volumes:
- ./config:/config
- ./volumes/storage-ac-0:/storage-ac
- ./volumes/storage-cas-0:/storage-cas
storage-1:
image: ghcr.io/buildbarn/bb-storage:20240108T141908Z-1ba9ed4
command:
- /config/storage.jsonnet
expose:
- 8981
- 9980
volumes:
- ./config:/config
- ./volumes/storage-ac-1:/storage-ac
- ./volumes/storage-cas-1:/storage-cas
scheduler:
image: ghcr.io/buildbarn/bb-scheduler:20240126T140954Z-fe4cf5d
command:
- /config/scheduler.jsonnet
expose:
- 8982
- 8983
- 9980
ports:
- 7982:7982
- 8983:8983
volumes:
- ./config:/config
browser:
image: ghcr.io/buildbarn/bb-browser:20240126T143027Z-efa0bb9
command:
- /config/browser.jsonnet
expose:
- 9980
ports:
- 7984:7984
volumes:
- ./config:/config
runner-installer:
image: ghcr.io/buildbarn/bb-runner-installer:20240126T140954Z-fe4cf5d
volumes:
- ./volumes/bb:/bb
# The FUSE worker is the most efficient configuration.
worker-fuse-ubuntu22-04:
image: ghcr.io/buildbarn/bb-worker:20240126T140954Z-fe4cf5d
command:
- /config/worker-fuse-ubuntu22-04.jsonnet
# Need to be privileged for the FUSE mounting to work.
privileged: true
volumes:
- ./config:/config
- type: bind
source: ./volumes/worker-fuse-ubuntu22-04
target: /worker
bind:
# Bidirectional mount to expose the FUSE mount.
propagation: shared
runner-fuse-ubuntu22-04:
image: ghcr.io/catthehacker/ubuntu:act-22.04@sha256:5f9c35c25db1d51a8ddaae5c0ba8d3c163c5e9a4a6cc97acd409ac7eae239448
command:
- sh
- -c
- while ! test -f /bb/installed; do sleep 1; done; exec /bb/tini -v -- /bb/bb_runner /config/runner-ubuntu22-04.jsonnet
network_mode: none
volumes:
- ./config:/config
- ./volumes/bb:/bb
- type: bind
source: ./volumes/worker-fuse-ubuntu22-04
target: /worker
bind:
# HostToContainer mount to use the FUSE mount.
propagation: slave
depends_on:
- runner-installer
# For situations where the more efficient FUSE worker is not supported,
# the classic hardlinking example is shown here.
worker-hardlinking-ubuntu22-04:
image: ghcr.io/buildbarn/bb-worker:20240126T140954Z-fe4cf5d
command:
- /config/worker-hardlinking-ubuntu22-04.jsonnet
privileged: false
volumes:
- ./config:/config
- ./volumes/worker-hardlinking-ubuntu22-04:/worker
runner-hardlinking-ubuntu22-04:
image: ghcr.io/catthehacker/ubuntu:act-22.04@sha256:5f9c35c25db1d51a8ddaae5c0ba8d3c163c5e9a4a6cc97acd409ac7eae239448
command:
- sh
- -c
- while ! test -f /bb/installed; do sleep 1; done; exec /bb/tini -v -- /bb/bb_runner /config/runner-ubuntu22-04.jsonnet
network_mode: none
volumes:
- ./config:/config
- ./volumes/bb:/bb
- ./volumes/worker-hardlinking-ubuntu22-04:/worker
depends_on:
- runner-installer