Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
150 lines (140 loc) · 3.21 KB
/
Copy pathdocker-compose.yml
File metadata and controls
150 lines (140 loc) · 3.21 KB
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
services:
serve:
build:
context: .
dockerfile: Dockerfile
command: [ "npm", "run", "serve" ]
volumes:
- .:/app/src
- /app/src/node_modules
ports:
- 8081:8081
depends_on:
dist:
condition: service_completed_successfully
dist:
build:
context: .
dockerfile: Dockerfile
command: [ "npm", "run", "dist" ]
volumes:
- .:/app/src
- /app/src/node_modules
build:
build:
context: .
dockerfile: Dockerfile
command: [ "npm", "run", "11ty" ]
volumes:
- .:/app/src
- /app/src/node_modules
depends_on:
dist:
condition: service_completed_successfully
profiles:
- manual
dist_clean:
image: node:25-bullseye
working_dir: /app/src
volumes:
- .:/app/src
command: [ "rm", "-rf", "dist" ]
profiles:
- manual
clean:
image: node:25-bullseye
working_dir: /app/src
volumes:
- .:/app/src
command: [ "rm", "-rf", "_site" ]
profiles:
- manual
shell:
build:
context: .
dockerfile: Dockerfile
target: debug
command: [ "bash" ]
volumes:
- .:/app/src
- /app/src/node_modules
ports:
- 8081:8081
stdin_open: true
tty: true
profiles:
- manual
# Run after build - although in the CI this is run from a tarballed build currently
http_serve:
build:
context: .
dockerfile: Dockerfile
target: httpd_serve
volumes:
- ./_site:/usr/local/apache2/htdocs/
- ./.github/scripts/staging/http2.conf:/usr/local/apache2/conf/http2.conf
- ./htaccess:/usr/local/apache2/htdocs/.htaccess
ports:
- 8082:80
healthcheck:
test: [ "CMD", "curl", "-o", "/dev/null", "-s", "http://localhost" ]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
profiles:
- manual
broken_links:
build:
context: .
dockerfile: Dockerfile
target: broken_link_checker
command: [ "http://http_serve" ]
profiles:
- manual
# Staging service for on_call_staging_test workflow
staging:
build:
context: ./_site
dockerfile: ../Dockerfile
target: httpd_serve
ports:
- 8080:80
healthcheck:
test: [ "CMD", "curl", "-o", "/dev/null", "-s", "http://localhost" ]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
profiles:
- manual
# BDD Testing service
test:
build:
context: .
dockerfile: Dockerfile
target: tests
volumes:
- ./tests:/app/src/tests
- ./package.json:/app/src/package.json
- ./package-lock.json:/app/src/package-lock.json
profiles:
- manual
# Page performance / Core Web Vitals measurement
# Usage (production): docker compose run perf
# Usage (local): BASE_URL=http://serve:8081 docker compose run perf
# See .env.example for all configuration options.
perf:
build:
context: .
dockerfile: Dockerfile
target: tests
volumes:
- .:/app/src
- /app/src/node_modules
env_file:
- path: .env
required: false
command: [ "node", "tests/perf/measure-vitals.js" ]
profiles:
- manual